嗯,按自己需求来就好,何况文章内容以及 org-export 后端(别的工具很难取代原生的 org parser,包括你提到的对自定义 org对象导出的定制也仍然需要修改导出后端代码) + css/js的定制才是网页核心, 这些基本不会随着 ox-publish 的变化或替换而受到影响。
那这样的话,直接手动拷贝到 src block 或者用 #+include 都可以,也可以用我在 org-imagine: 对 org 对象进行可视化的插件 - #29,来自 twiddling 里提到的 org-imagine 代码提取功能,对 #+include 语法扩展了一点,支持指定函数名提取 el 文件中整个 elisp 函数定义的 s-expression. 比如以下写法执行 org-imagine-view 后提取出对应文件中的 extract-elisp-s-expression 实现,我自己也是用类似方式抽取一些代码片段加上说明并发布成文章的,这样更容易保持 org 和源码的一致性,也可以通过 C-c ‘ 跳转到源码。
#+IMAGINE: "~/.emacs.d/site-lisp/org-imagine/org-imagine.el::extract-elisp-s-expression"