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

把首页做成了用org表格的形式来展现(用org怎么久了,org的表格功能还几乎没用过 :joy:

图片

在点击首页按钮执行的elisp最后加了一个(org-cycle)将内容展现为表格,然后就感到页面加载有明显卡顿(windows),但表格也才30多行,测试去掉 valign(表格中英文对齐)就不卡了,但表格对齐没有也不行

一个诡异的问题,我看org文档和其它人在org中使用表格,分隔表头和表内容中间分隔符显示都是这样的|---+---|,但我这里用就像我上一楼的截图一样,是|——|——|这样分割表头和表内容,我前几天还以为是org-mode更新了但是文档没有更新又或是windows独有的问题,但今天却自动变成了|---+---|,还好上一贴有截图,因为现在我似乎不能复现|——|——|这个情况

有人也遇到过这种情况吗?

1 个赞

这个是valign作用的效果。

原来如此,不过valign在我这有点卡,去掉后表格加载快好多,表格对不齐的问题先忍一忍

不一定非得用表格,能够保证列对齐就行。可以参考一下 gkroam-index 的实现,借用了 valine 实现对齐的核心代码

3 个赞

我研究下,列对齐这个感觉作为文章列表页不错,但首页感觉还是要表格,首页我准备去掉最后更新,排成一行三个类别只显示笔记分类和数量,这样在有一百多个分类情况下,也可以在一屏全部显示完

org文件中的链接设置 (setq org-return-follows-link t)后可以回车直接打开,执行(org-return),不在需要鼠标点击或c-c c-o,光标处于非链接上时则是正常换行。

用回车键来打开链接显然是更好的,html里的链接也通常都可以用回车打开

但这个对于org表格里面的org链接没有效果,在org表格里的链接上按回车,就到表格下一行或新建行了,链接不会在当前org文件打开,请教坛友们,有没有什么办法可以解决?

1

org-return 会根据光标所在位置的内容决定调用什么命令,在表格中则调用了 org-table-next-row(insert "\n") 命令,所以会跳到下一行或新建一行。

最直接的办法是写一个 advice 函数,找到 org-return 有关表格部分的代码,加一个判断:如果当前光标下是合法的链接,则直接调用 org-open-at-point 命令打开链接,否则保持原来的行为。

把这两大段的位置换一下,((and org-return-follows-link 放在 ((or (and (eq 'table (org-element-type context))的前面,可以解决这个问题,但这样直接改了org.el文件。

如果想不改org.el文件,是不是就要写一个 advice 函数,找到 org-return 有关表格部分的代码,加一个判断, 这个advice函数不知道怎么写,这个写起来复杂吗

过了那么久,这个问题终于解决了,办法是用 自定义链接快键键, 如果这个设置 (setq org-return-follows-link t)能生效当然更好,再次感谢 @owensys 的提醒

(org-link-set-parameters
 "elisp"
 :keymap (let ((map (copy-keymap org-mouse-map)))
           (define-key map (kbd "<return>") 'org-open-at-point)
           map))

我是在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 的使用方式怎么样了,已经可以发点配置和代码来看看了么?