计算机协会网站上线
1. 网站建立初衷
本网站为江西财经大学计算机协会(以下简称"协会")的官方站点,用于发布技术文章、以 及维修部相关指南。网站采用GNU官方文档风格的CSS进行设计,整体风格简洁、专业。
2. 网站结构
本网站基于Emacs的Org Mode构建,所有页面均由org文件通过Emacs的导出功能生成HTML。 此种方式使得内容的编写与维护极为便利,适合协会成员共同参与内容的创作与更新。
3. 基本导出选项
为了方便定位导出文件,本网站选择使用let表达式简化配置编写,并使用适用于字符串的 合并函数来动态构建路径。
整个项目被拆分为三部分,两个是承担了实际构建网页的项目,而最后一个项目是合并所有 项目的伪项目。使用这种拆分模式的原因是,org文件作为源文件应该被应用到转化函数中。 而对于CSS文件和JavaScript脚本以及类似的不应该做任何转化的文件,应该使用附件函数 直接复制这些文件到指定的地点。
同时,为了可以在导出的HTML文件中应用CSS和JavaScript,HTML的头部部分应该添加两行 的外链引用。
这些变量统一记录在此项目的根目录中的 .dir-locals.el 文件中,但是导出的时候不会
一同导出,因此直接访问此路径是不可行的。
(let ((publish-dir "/Path/to/target/")
(base-dir "/Path/to/source/"))
`(("posts-org"
:base-directory ,(concat base-dir "posts")
:base-extension "org"
:recursive nil
:publishing-directory ,(concat publish-dir "posts")
:publishing-function org-html-publish-to-html
:language "zh-CN"
:auto-sitemap t
:sitemap-filename "index.org"
:sitemap-title "Association of Computer - Article"
:sitemap-sort-files chronologically
:html-head-include-default-style nil
:html-head-extra "
<script defer=\"defer\" src=\"prev-post-builder.js\"></script>
<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />
"
)
("posts-static"
:base-directory ,(concat base-dir "posts")
:base-extension "css\\|js\\|txt\\|jpg\\|gif\\|png"
:recursive t
:publishing-directory ,(concat publish-dir "posts")
:publishing-function org-publish-attachment
)
("posts"
:components ("posts-org" "posts-static")
)
))