# AI许愿编程做了一个Linux上的Markdown查看器，要不要试试？

**URL:** <https://meta.appinn.net/t/topic/89887>\
**Category:** 讨论分享\
**Tags:** linux\
**Created:** [2026 年8 月 12 日 12:43 UTC](https://meta.appinn.net/t/topic/89887 "2026-08-12T12:43:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tux.fan](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tux.fan/32/75684_2.png) [@tux.fan](https://meta.appinn.net/u/tux.fan)\
**Post date:** [2026 年8 月 12 日 12:43 UTC](https://meta.appinn.net/t/topic/89887/1 "2026-08-12T12:43:12Z")

</div>

这个Markdown查看器安装包很小。因为它只是打包了一些JS文件，通过gjs运行，通过webkit来渲染的。

安装包是一个.sh脚本，里面打包了js文件，desktop文件等。加了运行权限就直接能运行。运行后在设置里可以安装desktop文件到操作系统，注册.md文件的mime type handler等。

因为这个网站不能上传.sh文件，所以下载链接放我的另一个站点上了：[AI许愿编程做了一个Linux上的Markdown查看器，要不要试试？ · Portable Markdown](https://portable-markdown.com/p/01KZTZQ9ZYZ5SS30HV8CBKN0KY)

忘记截图了：

 ![image](https://h2cdn.appinn.me/original/3X/a/2/a25630febd863b6d4b0fcee122b4b75283581f40.jpeg)

---

<div class="post-metadata">

**Author:** ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
**Post date:** [2026 年8 月 13 日 03:32 UTC](https://meta.appinn.net/t/topic/89887/2 "2026-08-13T03:32:26Z")

</div>

> [@tux.fan](#):
>
> 安装包是一个.sh脚本，里面打包了js文件，desktop文件等

建议最好是打个正经的包，比如 deb、rpm，或通用的 AppImage。一般不建议用脚本在 Linux 上安装软件，很容易把系统弄出问题。

---

<div class="post-metadata">

**Author:** ![tux.fan](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tux.fan/32/75684_2.png) [@tux.fan](https://meta.appinn.net/u/tux.fan)\
**Post date:** [2026 年8 月 13 日 04:30 UTC](https://meta.appinn.net/t/topic/89887/3 "2026-08-13T04:30:00Z")

</div>

我这个主打portable，下载了双击就能用。不想引入安装过程，AppImage又有点太重了，打开要挂fuse，太慢。我有点简洁洁癖。这个.sh不安装也是完全可以用的，安装动作只是向系统注入一个desktop文件。

---

<div class="post-metadata">

**Author:** ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
**Post date:** [2026 年8 月 13 日 06:15 UTC](https://meta.appinn.net/t/topic/89887/4 "2026-08-13T06:15:58Z")

</div>

用了一下，感觉挺好的。有几个问题：

## 0 效果测试

 ![out](https://h2cdn.appinn.me/original/3X/e/4/e45affa4a19280436c41aaefe63c1942d56302e4.webp)

测试文件的代码在这里：`https://meta.appinn.net/t/topic/86247`

## 1 问题

### 1.1 设置中切换主题后，主界面中不会同步更新

 ![截图1](https://h2cdn.appinn.me/original/3X/f/5/f5e2ca10acf7833a97163430acf8c6e429a2ba74.webp)

### 1.2 不支持 HTML 标签

 ![2](https://h2cdn.appinn.me/original/3X/b/2/b2e7b9fc028723133d183fb80f4dc507791ec051.webp)

个人建议，如果可以的话，还是把 HTML 标签的支持加上。毕竟有些场合还是需要上下标的，而支持 Pandoc’s Markdown 语法扩展的编辑器、查看器还是少数。

### 1.3 无法显示本地图片

无法打开本地图像，我测试了 png 和 webp 图像，均无法显示。

但在线图片是可以正常显示的。

代码：

```markdown
![](fig1.webp)

![](fig1.png)

![](https://forums.debiancn.org/uploads/default/original/1X/1472d0d69497593bc611c90b618757ff0727a9b3.png)

```

效果：

 ![1](https://h2cdn.appinn.me/original/3X/5/f/5fa7cf9f096b2a77bb2897608d070612ec56a8a3.webp)

### 1.4 多级列表显示异常

代码如下：

```markdown
- test
- test
    - test
    - test
        - test
    - test
- test

```

显示效果如下：

 ![2](https://h2cdn.appinn.me/original/3X/0/e/0e08e73b4221ba0bb6425d95fe41e8a40204bb36.webp)

### 1.5 代码没有使用等宽字体

对于如下内容：

````plaintext
```text
123456 AaBbCc
测试01 测试Ab
1iIlL 0oO
```

````

显示效果如下：

 ![3](https://h2cdn.appinn.me/original/3X/7/6/760e6acaa4f191713de14834e93cfd74cff5ad76.webp)

## 2 建议

### 2.1 让用户自己检查并安装依赖项

建议在 readme 文档中写清楚要安装哪些依赖包，毕竟有些小众发行版（比如用自己的包管理器的 Solus OS、Alpine Linux，或使用独立仓库的 Artix Linux、AOSC OS）的打包情况可能不太一样，全靠自动处理可能无法应付所有情况。

此外，这个脚本会自动确认软件安装。我执行安装脚本后，脚本提示我要安装依赖：

```plaintext
% /tmp ./5QWuSF7T.sh 
⚠️ 缺少依赖: gjs gir1.2-gtk-4.0 gir1.2-webkit-6.0
📦 检测到缺少依赖，将安装: gjs gir1.2-gtk-4.0 gir1.2-webkit-6.0
是否继续？[Y/n] y

```

我输入 y 后，系统直接调用 apt 安装了缺少的包，而且应该是直接给 apt 传入了 `-y` 参数，自动确认了。我都不知道在我这边具体要安装哪些包、到底要占我多少硬盘空间。

### 2.2 直接以压缩包形式分发

看了一下安装后的文件，内容很简单。个人建议直接以压缩包形似分发，这样用户可以自己决定要把软件安装到哪儿。

此外，使用一个内容透明的压缩包，也比现在这样一个塞了一堆东西的脚本看着让人放心。

至于 `.desktop` 文件，个人建议写个完整的自述文件，告诉用户可以放到哪儿。

---

<div class="post-metadata">

**Author:** ![tux.fan](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tux.fan/32/75684_2.png) [@tux.fan](https://meta.appinn.net/u/tux.fan)\
**Post date:** [2026 年8 月 13 日 08:41 UTC](https://meta.appinn.net/t/topic/89887/5 "2026-08-13T08:41:01Z")

</div>

收到，非常详细的建议，感谢~。我再研究下。

---

<div class="post-metadata">

**Author:** ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
**Post date:** [2026 年8 月 13 日 09:28 UTC](https://meta.appinn.net/t/topic/89887/6 "2026-08-13T09:28:30Z")

</div>

又发现两个问题，更新到之前的帖子里了（编号 1.3、1.4）

2026-08-13T09:32:00Z 更新：又发现一个，编号 1.5 :smiling_face_with_tear:
