打不出来是什么意思?unicode?图片?latex?
N,N-Dimethylformamide
两个N是斜体,逗号左右不空格。
化学上的要求。在我放弃org之前是打不出来的,现在不知道。
这样不行?
我不想符号也变成斜的
其实MarkDown也有很多毛病,比如标准化的问题,但我总能找到可用的实现,org就不行啦。
好吧,我只是觉得因为这放弃 org 实在可惜
并且这些行为都可以根据自己的需求 hack 的,因为这是 emacs
我看过这一功能的实现,非常复杂,我是改不了的……
还有就是,我对时间管理不感兴趣,文学编程的话,我不是写代码的,也用不上,于是就坚持MarkDown咯
@twlz0ne asciidoc 初看了一下不错呀,支持特性挺全面。我把手头的 Nikola 主题搞完再仔细比较下(目前差不多能跑起来了)。
@LdBeth Nikola 原生支持 pandoc 后端。
我的感觉是现在大部分对标记语言的讨论都在一个分歧点上,那就是标记语言到底是辅助读者来看原始文档的,还是方便作者来生成格式文档的。
想知道 Nikola 比起 Hugo 还有什么优势?
有几个著名用户算不算?譬如 MATE 桌面、wxPython 的站点就是 Nikola 支撑的。 https://users.getnikola.com
markdown 扩展更全面,table、fenced code、footnote、toc 等老生常谈了,还支持我个人比较喜欢的 Definition Lists、Admonition、CodeHilite、WikiLinks 等等。使用时选项里打开就可以了,Hugo 的 markdown 扩展就比较平庸。
其实 reStructuredText 更强大些,python 官方文档就是这个写的,用来写书都没问题。缺点是不如 markdown 那么直观,编辑器支持要少一些。
语法高亮用的广受好评的 python 库 pygments,比那些用 javascript 高亮库的不知道要高到哪里去了。
原生支持 python notebook 渲染,想把 notebook 放到博客上去?木问题啊。
比较容易扩展,比如出厂内置的 chart 扩展:扔进去一堆数据,自动生成可交互的 SVG 图表。http://pygal.org/en/stable/
模版系统支持的是 Jinja2 和 Mako,特性多使用也比较广泛。
还有些比较贴心的特性:live reload,meta 头,readmore,thumbnail,草稿,定时发稿,多作者,禁止评论,多语支持,分页 rss ……等等。
可能还有些其它优势暂时想不起来,但大都可以追根溯源到一点:使用的是 python 工具链。众所周知,python 库出名的多,Nikola 则直接使用和整合了部分资源。也许使用 go 工具链的 Hugo 生成静态页面的速度要快上那么一点,但是对比以上这些,谁还在乎这个呢?
一直犹豫要跳哪个坑,你给我指明了一条跳坑的捷径
还有一点疑问,有没有 org-mode 到 Nikola 的比较好的工作流或者现成的插件?
还有,Python 阵营最出名的不是 Pelican 吗?
跳吧,一起跳
Nikola 内置的 pandoc 后端支持 org,但我没试过不知道支持到啥程度。
还有个插件看介绍直接调用 emacs 来生成 html。Plugins for Nikola
Pelican 挺早时候试过一次。就不能支持 live reload 么?写博客和开发主题时候很需要的。但没隔多久看到 Nikola 支持格式和特性更多,就义无反顾地弃彼坑跳此坑了 刚才又去看了一眼,值得注意的是 API 设计比 Nikola 漂亮(最近被 Nikola 快坑哭了),其它没看到啥明显的变化。
有没有试过 org-emphasis-regexp-components
这个参数?
;; default : " \t('\"{"
(setcar org-emphasis-regexp-components " \t,('\"{")
(org-set-emph-re '_ t)
只加了逗号 ,
,效果如下:
第一张是 Emacs 下的显示,后面分别是导出为 html 和 LaTeX,导出的代码都是对的。
Emacs 下最后一行第二个逗号 显示 不对? ,原因是两个正则匹配糊到一起了,不过正常使用应该不太会出现这种情况。
第二句那个函数是怎么用的? '_
是什么变量?能不能麻烦解释一下?
我猜是为了让设置生效,重新计算正则表达式?所以随便什么变量都行?
对的,但我不确定会不会产生冲突。
发现并不是这样的,是我误导了,表示抱歉。
_
,用 -Q
启动开始并没有这个变量,是后来 set
产生的 (但是其它的变量 。我以为这个是系统的变量。a
这种都不行,这点好奇怪!)
看来还是要自己设一个变量或者用 custom-set-variables
。
这个 _
好可疑,有谁知道么?
原来是这个啊,前两天我还在想,是不是可以添加一组非对称的 emphasis (",/" . "/")
,但 org-emphasis-alist
并不是这种写法。如果允许这种形式,副作用可能更小一点。
目前是靠同一个正则表达式类似这种 [~=*/_+]
一起匹配一次,又要实现嵌套,所以会重叠。
感觉这种不带转义的标记能肯定要有所限制,本身是为了方便书写而牺牲准确度。比如我想表达 N/,/N
的斜体是不是就又不对了?
大神,您好。
我跟很多人抱怨过,您是第一个解决问题的人。请您继续测试如下的东东是否能正常。。
N,N,N′-三甲基乙二胺
μ-η^2^:η^2^
η,η′
确实,其实这种问题的最终解决就交由 latex 处理,反正 org 和 latex 集成的很好
应该是这么写的:
(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components)
看了 org-set-emph-re
定义:
(defun org-set-emph-re (var val)
"Set variable and compute the emphasis regular expression."
(set var val)
(when (and (boundp 'org-emphasis-alist)
(boundp 'org-emphasis-regexp-components)
org-emphasis-alist org-emphasis-regexp-components)
(pcase-let*
((`(,pre ,post ,border ,body ,nl) org-emphasis-regexp-components)
(body (if (<= nl 0) body
(format "%s*?\\(?:\n%s*?\\)\\{0,%d\\}" body body nl)))
(template
(format (concat "\\([%s]\\|^\\)" ;before markers
"\\(\\([%%s]\\)\\([^%s]\\|[^%s]%s[^%s]\\)\\3\\)"
"\\([%s]\\|$\\)") ;after markers
pre border border body border post)))
(setq org-emph-re (format template "*/_+"))
(setq org-verbatim-re (format template "=~")))))
它的作用是把 " \t('\"{"
这种可读的表达式展开,然后重新赋值给变量,例如:
;; ---------------------------------
;; befor
(defvar foo " \t('\"{")
;; foo =>
;; " \t('\"
;; ---------------------------------
;; after
(org-set-emph-re 'foo foo)
;; foo =>
;; "\\([- ('\"{]\\|^\\)\\(\\([=~]\\)\\([^
;; ]\\|[^
;; ].*?\\(?:
;; .*?\\)\\{0,1\\}[^
;; ]\\)\\3\\)\\([- .,:!?;'\")}\\[]\\|$\\)"