以org-mode为前端的内容管理系统,像使用网页应用一样使用org-mode

我是在org-wiki中发现可以自定义org中的link的,可以这个项目好像没有维护更新了。

对sql语句加入了排序方式判断if(isset($_GET["order"])){ },文章列表页默认按时间排序,可以切换成按标题排序

图片

我终于在手机上以web的方式使用org-mode了(android termux),手机端emacs配置文件太难写了,但仅就org-mode的效果而言,体验感觉不错。

从上图可以看到中英文字体等宽对齐,但我手机上的emacs没有装任何插件,也没有做这方面的配置。

1 个赞

相当于在终端里使用 Emacs,一直以来终端里的 Emacs 显示中文都是正常的。只是换到 GUI 版下,中文显示就不正常。之前陈斌提过这个问题,他说他一直没有意识到 Emacs 的中文显示问题,因为他一直是在终端下使用 Emacs 的。

感觉termux里的emacs很给力啊,除了手机触摸键盘不好用,但文本复制粘贴可以不使用键盘,不使用快捷键,像手机上编辑短信一样手指长按选择,用两根手指放大缩小emacs也很顺滑,这并不是放大缩小字体,以至于我完全没有在使用终端的感觉。应该是因为windows下终端里的emacs太难用了

终端在显示中文英文的时候做过处理保证对齐,代价是中文字体左右两边会有间隔

Android 的终端,应该就是 Linux 的终端了吧……果然 Emacs 还是在 Linux 下才好用……其它系统的兼容性太差

我在手机上输出(message "%s"system-type)看了,在termux里显示的就是gnu/linux,感觉android也可以算是一个linux发行版了(一个不提供root还禁止用户自己root的发行版)

Google 原生应该是可以 Root 的,但国内手机厂商的大多不给 Root

我还是比较好奇你现在的这种 org 的使用方式怎么样了,已经可以发点配置和代码来看看了么?

现在也可以用,但还有不少问题也没有时间精力去解决…

我直接发代码出来因为有些混乱大多数人也看不懂怎么用,等我过几天有空把相关内容整理做个总结,写个使用说明出来

按原计划做成 在线网站 发布,然而难度超出预期,短期内估计完不成,还有很多bug,目前emacs端代码已发布到 github,欢迎来参观

这里服务器端不应该用ip,应该用域名的,然后我的 域名出了问题 还没解决,只能先用ip

2 个赞

前两天才发现,手机上使用org-mode,也没有外部键盘可用时,应该使用悬浮键盘,编辑体验提升了不少,为啥以前没发现这一点呢?也没见其它坛友提及,想到可能还有人未发现这点,啰嗦一下截个图

del

前两天发现我的org-mode里的链接多出了删除线(如上图),奇怪是那里弄出来的,emacs -q试了还是如此,继续排查找出了原因,但我也不清楚这是bug呢,还是就是怎么设计的,先记录下来,也许有人也会遇到这个问题。

起因是标题那里我随手乱写,按出了"---- ----",然后生成链接时会把标题作url编码,url里的空格会编码成+号,生成的链接是这样的:[[elisp:(orgcms-load "http://localhost/org?api=save-post&title=----+----&a=notice&from=dev" 1)][保存修改]] [[elisp:(orgcms-load "http://localhost/org?api=del&title=----+----&a=notice&from=dev" 1)][删除(不能恢复)]]

按照org-mode的规则两个+号之间的内容会显示下划线,所以下划线就出现了,但以前链接里也有空格转码成的+号,就没出现,所以链接里的+号还要和-号配合才会出现下划线。

我把标题名换了一下不要在两个-的中间加空格,这个下划线就没有了

今天发现只要笔记中有emoji符号如“:joy:”保存就失败,而mysql数据库编码类型设置了urf8mb4,直接执行sql语句也没有问题,在org-mode中就不行.

问chatGPT说:PHP处理结果字符集未设置为utf8mb4,加上“$pdo->exec(“SET NAMES utf8mb4”);”后果然没问题了。

因为我sqlite和mysql同时在使用,用相近的表结构,相同的api,sqlite从不设置字符集编码类型,也不设PHP处理结果字符集编码类型,就可以正常记录显示emoji符号,就以为mysql也不需要。

chatGPT确实节省了我很多时间,否则我不可能那么快修复这个问题

建议换 PostgreSQL

1 个赞

如果将来这个项目的服务器端也开源发布,会考虑换PostgreSQL的,现在只是自用感觉没动力换,其实mysql我还在用多年前的老版本5.7,好多年没更新过了

确实应该换一个,最近才知道utf8mb4这个是mysql专属,因为mysql的utf8并不是真的utf8,utf8变长存储格式是1-4个字节,而mysql的utf8是三个字节,所以很多字符表示不了,于是又出了个utf8mb4饶过这个问题(而不是修复这个问题),而其它数据库的utf8是真的utf8,可显示全部unicode字符

比较好奇,现在这个能显示图片吗?

不能, 数据库只存储纯文本, 如果在保存org文件时把org文件里引用的图片文件也存一份到数据库,这就真把org-mode变成了一个web富文本编辑器了, 理论上可行,但我应该是搞不定这件事