zoukankan      html  css  js  c++  java
  • Emacs org批量生成HTML手册

    效果展示:

    • 我们花时间去考虑使用org生成HTML形成的静态网页到底长什么样子:

    • 如上图, 看上去是一个干干净净的界面, 有列表内容, 标题, 图片等等.

    • 但它的强大远远不止于此, 它还可以套入MathJax来完美的渲染数学公式. 如果用它用于整理笔记, 无疑这是一个轻便, 简洁并且十分强大的笔记软件.

    • 看完以上效果, 好, 那让我们一起开始制作一个org批量生成html制作自己的静态网页的环境吧!

    重要的文件和目录

    • ~/Documents/Manual/publish-config.el
    • ~/Documents/Manual/makefile
    • ~/Documents/Manual/org/
    • ~/Documents/Manual/output/

    控制org文件输出位置

    • publish-config.el:

      ;; config for publish site from org files
      ;; (require 'org-publish)
      
        (setq org-publish-project-alist
        '(
            ;; These are the main web files
            ("org-notes"
             :base-directory "~/Documents/Manual/Org" ;; 修改为你所使用的路径
             :base-extension "org"
             :publishing-directory "~/Documents/Manual/Output"
             :recursive t
             :publishing-function org-html-publish-to-html ;;org-publish-org-to-html
             :headline-levels 4             ; 默认即可
             :auto-preamble t
             :auto-sitemap nil
             :sitemap-filename "sitemap.org"
             :sitemap-title "sitemap"
             :section-numbers nil
             :table-of-contents t
             :style "<link rel='stylesheet' type='text/css' href='./css/org-manual.css' />"
             :style-include-default nil
             )
      
            ;; These are static files (images, pdf, etc)
            ("org-static"
             :base-directory "~/Documents/Manual/Org" ;; 修改为你所使用的路径
             :base-extension "css\|js\|png\|jpg\|gif\|pdf\|mp3\|ogg\|swf\|txt\|asc"
             :publishing-directory "~/Documents/Manual/Output"
             :recursive t
             :publishing-function org-publish-attachment
             )
      
            ("org" :components ("org-notes" "org-static"))
            )
          )
      
        (defun myweb-publish nil
        "Publish myweb."
        (interactive)
        (org-publish-all))
      
        (myweb-publish)
      
    • Makefile(makefile启动时候会调用publish_config.el)

      EMACS=emacsclient
      ORG_CONFIG_FILE=publish-config.el
      EMACS_OPTS=--eval "(load-file "$(ORG_CONFIG_FILE)")"
      
      DEST_HOST='myhost.com:public_html/'
      OUTPUT_DIR=~/Documents/Manual/Output
      
      all:html upload
      
      html:
          @echo "Generating HTML..."
          @mkdir -p $(OUTPUT_DIR)
          @$(EMACS) $(EMACS_OPTS)
          @echo "HTML generation done"
      
      upload:
          @cd $(OUTPUT_DIR) && scp -r . $(DEST_HOST) && cd ..
      
      clean:
          @rm -rf $(OUTPUT_DIR)
      

    手册 ReadtheORG 主题

    • git ReadtheORG

      git clone https://github.com/fniessen/org-html ~/Downloads
      
    • 创建两个文件夹

      • ~/Documents/Manual/setup/
      • ~/Documents/Manual/Output/styles/
    • Org文件头部的定义:

      #+TITLE:     Page Name
      #+AUTHOR:    jingpeng
      #+EMAIL:     (concat "fniessen" at-sign "pirilampo.org")
      #+DESCRIPTION:
      #+KEYWORDS:
      #+LANGUAGE:  en
      #+OPTIONS: H:4 num:t toc:3 html5-fancy:non-nil html-preamble:nil
      #+OPTIONS: html-style:nil html-scripts:nil toc:t author:t f:t
      #+HTML_DOCTYPE: html5
      #+HTML_CONTAINER:div
      #+HTML_LINK_HOME:
      #+html_mathjax:
      
      #+SETUPFILE: ../setup/theme-readtheorg-local.setup
      
      • SETUPFILE: 引用CSSjavascript
    • 完整的目录:

      ## Important files and directories:
      ~/Documents/Manual/publish-config.el
      ~/Documents/Manual/makefile
      ~/Documents/Manual/Org/
      ~/Documents/Manual/Output/
      ~/Documents/Manual/Output/styles/
      ~/Documents/Manual/setup/
      
      ## Images and pdf books... :
      ~/Documents/Manual/Images/
      ~/Documents/Manual/Books/
      

    自定义位置

    • 直接移动位置, 记得要修改input和output目录, 如下:
      :base-directory "~/Documents/Manual/Org" ;; 修改一下这里的路径
      :publishing-directory "~/Documents/Manual/Output"
      
      :base-directory "~/Documents/Manual/Org" ;; 修改一下这里的路径
      :publishing-directory "~/Documents/Manual/Output"
      

    Gitee克隆模板

    • 直接克隆一个可用模板, 直接使用
      git clone https://gitee.com/eeqc/emacs-org-batch-to-html.git ~/Documents/Manual/
      

    一键生成

    • 将org文件移动到~/Documents/Manual/Org目录下

    • 打开EmacsAlt+x输入server start

    • 进入~/Documents/Manual/目录下启动makefile

      make
      
  • 相关阅读:
    Windows7下面手把手教你安装Django
    windows系统下Python环境的搭建
    PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点
    结构化程序设计 ?
    编译性语言、解释性语言和脚本语言
    在linux中关闭防火墙
    Linux下Apache服务的查看和启动
    AWS中,如果使用了ELB,出现outofservice
    亚马逊的PuTTY连接AWS出现network error connection refused,终极解决方案。
    9.Node.js 包管理器npm
  • 原文地址:https://www.cnblogs.com/ieeqc/p/14218922.html
Copyright © 2011-2022 走看看