帮看下这个问题,有解决办法木有 → 【hugo ox-hugo】使用 `ox-hugo` 导出 `.md` 时如何处理代码块高亮问题?
Insert Hugo Formatter
目前使用 ox-hugo
导出 .org
文件到 HUGO,但每次编辑 .org
插入头部都要手动输入,Hmm… 有些繁琐,自己写了一个 Yasnippet 的 snippet – insert hugo formatter
,它主要实现了一下功能:
- 自动插入当前时间;
- 自动格式化当前 buffer 名称作为当前文章名。
https://github.com/loveminimal/emacs.d/blob/master/snippets/org-mode/insert%20hugo%20formatter
如下图:
Insert Img
另外,默认的图片插入,不方便设置图片大小(个人暂时未发现 ),附一个插入图片的 snippet – insert img
https://github.com/loveminimal/emacs.d/blob/master/snippets/org-mode/insert%20img
如此可以通过设置图片的宽度,来设置图片大小。
3 个赞
这么多 car/cdr。感觉这样就行了?
(capitalize
(replace-regexp-in-string
"[_-]"
" "
(file-name-base "/path/to/hello-world.org")))
;; => "Hello World"
我没全看明白你的代码,太长了。
1 个赞
cireu
3
插入title可以用这个简化
(mapconcat #'capitalize
(split-string (file-name-base (buffer-file-name)) "-")
" ")
1 个赞
尝试用了 mapconcat
,语法没用对。。。。。以为不行,就用手动 car
+ cdr
, THX 【已采用】
帮看下这个问题,有解决办法木有 → 【hugo ox-hugo】使用 `ox-hugo` 导出 `.md` 时如何处理代码块高亮问题?
针对不同类型的头部文件,我一般录制个宏,然后保存或者绑定一下。如果要个性化定制,也可以从修改录制好的宏开始。
宏是个好东西,不过我用的比较浅,一般用来修改文章或代码。 Snippet 主要是方便光标跳转,有些待输入项某些时候还是需要修改。
呃,楼主原来的代码是这样……能忍受那么多复制么…………
Common Lisp 没有这个函数,我也不知道有 mapconcat 这个函数, 就是 concatenate 和 mapcar/mapcan 的组合吧
是从以前用 hexo 的时候写的一个插件搬过来改了一下 不过下面两位给的方案都很 Okay
cireu
14
否,mapconcat是对字符串专用的,而且会在每个elem中间插入指定的分隔符。Elisp自己加的。
(defun mapcat (string-list &optional (func #'string-capitalize) (splitter " "))
(string-right-trim splitter
(apply 'concatenate 'string
(mapcar #'(lambda (str) (concatenate 'string (funcall func str) splitter)) string-list))))
(mapcat '("hello" "world")) => "Hello World"
“简单”实现个,用 format 就要简单得多~~
cireu
16
或者先实现list的join,再用concatenate
(defun interpose (list sep)
(let ((rev (reverse list))
result)
(dolist (elem rev)
(push elem result)
(push sep result))
(cdr result)))
(defun mapconcat (fn seq sep)
(apply #'concatenate 'string (interpose (mapcar fn seq) sep)))
哈哈 我刚说的用 format 简单得多就是因为我用那个实现了join(为了防止用format的关键字波浪线~ 做分隔符所以要替换下,不然更简单了):
(defun join (string-list
&key (seperator "-") output (fn #'string-capitalize)
&aux (seperator (cl-ppcre:regex-replace-all "~" seperator "~~")))
"Join the string list"
(format output (format nil "~~{~~a~~^~a~~}" seperator) (mapcar fn string-list)))