emacs-china / EGO

EGO is a static site generator that depends on Emacs, Git and Org-mode.
94 stars 11 forks source link

EGO 改进要点整理 #65

Closed kuangdash closed 7 years ago

kuangdash commented 8 years ago

仅仅是整理,不保证完成这些改进,但是有个提纲总比没有好

  1. 对 posts 的管理

    将 ego-mode.el 改为 ego-mngr.el ,提供对 posts 的管理功能;

    在 ego-mngr.el 里实现 ego/list-posts,将所有 posts 列成一个表,用 post 名称作为主键,后接 tags、time 以及 author 等等 properties 形成元组,这里参考 blog-admin

    在一些 property 上实现 ego/manage-property,譬如:

    ego/manage-tags 会列出(用 ido-completing-read): tag 1 (给 post 添加 tag 1) ~tag 2(本 post 已经是 tag 2 的了,选择此项就消除此 tag ) … tag n new-tag (给 post 添加一个新 tag)

    选择相应操作完成对一篇 org 文件的 tags 修改。(这里也希望建一个 tags 审议委员会来明确每个 tag 的意义并减少无意义的 tags 数量)

  2. 用 ego-map.el 增加主题设置的自由性

    ego-map.el 将放在每个主题文件夹下面,用于提取 resource 文件夹和 ego/project-config-alist 里的内容,用以填充 template 文件夹下所有 mustache 模板,生成静态站点。

    删除 ego-resource.el 和 ego-template.el 这两个文件,因为它们固定了 ego 生成的站点结构。

    这里如何给 ego-map.el 设计一个恰当的格式是很关键的内容,这个文件应该尽量是结构描述性的。

  3. 写测试

    参考使用 EVM 和 CASK(测试实际作用只是减少项目代码贡献者的心理负担,从而鼓励代码的重构和改进,但考虑到目前代码贡献者不多,所以这项不紧急也不重要。并且由于 EGO 生成的是 html 文件,其样式上的问题不便用自动测试解决。)

求讨论补充,最好有人来替我实现了= =

kuangdash commented 8 years ago

这个版本的 EGO 已经通过个人人肉测试…目前看 melpa 那边的情况…

准备下一个版本 EGO 2.0,计划中的目录结构:

│ ego-config.el │ ego.el │ readme.org │

└─themes ---└─default -------│ ego-map.el -------│

-------├─resources -------└─templates

git 应该用 start-process 直接调用才对… 而且一开始就该上 blog-admin 的那种 control panel … ego-map.el 目前仍然悬而未决… 最后,站点的上传工作应该交给命令行解决,ego 这边应该只负责生成 html 文件。(不封装 git push)

stardiviner commented 8 years ago

看了下,目前EGO和org-page没啥区别啊。。。。

kuangdash commented 8 years ago

@stardiviner
当你管理多个静态站点 或者一个站点有多个作者 这时候就会有区别

发展历史是 org-page -> org-webpage -> EGO,都在 melpa 上,可以对比使用看看, org-page 和 org-webpage 的作者们也了解这个过程。

stardiviner commented 8 years ago

那应该在Feature list里再加上一条: support collaboration for multiple authors.

kuangdash commented 8 years ago

目前 EGO 只能算 alpha 版,这个特性也有待改进,再加上后面的发展前景不明朗…等 2.0 版的大改动真正实施的时候,再把这个条目放上去。

kuangdash commented 7 years ago

关闭此 issue,转向 #91