在Travis-CI中调用EGO自动更新博客

栏目: 服务器 · 发布时间: 5年前

内容简介:经过一番努力,总于把.travis.ymlauto_publish.el

经过一番努力,总于把 EGO 改到可以无需人工介入自动更新博客了,现在只需要在 source branch中加上两个文件:

.travis.yml

dist: xenial
language: generic

branches:
  only:
    - source

git:
  depth: false
  quiet: true

before_install:
 - git config --global user.email "lujun9972@gmail.com"
 - git config --global user.name "darksun"
 - git clone https://github.com/lujun9972/EGO ~/EGO
 - sudo add-apt-repository ppa:ubuntu-elisp/ppa -y
 - sudo apt-get update
 - sudo apt-get install emacs-snapshot -y
 - emacs-snapshot --version

script:
- git config --global core.quotepath false
- export REPO=$(git remote -v |grep fetch |head -n 1|awk '{print $2}')
- git clone -b source ${REPO} ~/source
- git clone -b master ${REPO} ~/web
- emacs-snapshot --batch -l ./auto_publish.el 

deploy:
  provider: pages
  skip_cleanup: true
  keep_history: true
  github_token: $GITHUB_TOKEN
  local_dir: /home/travis/web
  target_branch: master
  on:
    branch:
      - source

auto_publish.el

(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
                    (not (gnutls-available-p))))
       (proto (if no-ssl "http" "https")))
  (when no-ssl (warn "\
Your version of Emacs does not support SSL connections,
which is unsafe because it allows man-in-the-middle attacks.
There are two things you can do about this warning:
1. Install an Emacs version that does support SSL and be safe.
2. Remove this warning from your init file so you won't see it again."))
  ;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
  (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
  ;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
  (when (< emacs-major-version 24)
    ;; For important compatibility libraries like cl-lib
    (add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/")))))
(package-initialize)
(package-refresh-contents)
(package-install 'mustache)
(package-install 'htmlize)

(setq load-path (cons  "~/EGO/" load-path))
(require 'log-edit)
(require 'htmlize)
(require 'ego)
(setq ego-project-config-alist
 `(("blog" :repository-directory "~/source" :site-domain "https://lujun9972.github.io/" :site-main-title "暗无天日" :site-sub-title "=============>随便,谢谢" :theme
    (emacs_love)
    :summary
    (("years" :year :updates 10)
     ("authors" :authors)
     ("tags" :tags))
    :source-browse-url
    ("Github" ,(getenv "REPO"))
    :personal-disqus-shortname "lujun9972" :personal-google-analytics-id "7bac4fd0247f69c27887e0d4e3aee41e" :ignore-file-name-regexp "README.org" :store-dir "~/web")))
(message "BEGIN TO AUTO PUBLIC")
(setq org-export-use-babel nil)
(setq debug-on-error t)
(ego-do-publication "blog" nil nil nil)

根据自己的需求更改 .travis.yml 中的 git user.emailuser.name 的值,和 auto_publish.elego-project-config-alist 的配置就可以了。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax基础教程

Ajax基础教程

(美)阿斯利森、(美)舒塔、金灵 / 金灵 / 人民邮电出版社 / 2006-02-01 / 35.00元

Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验。本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和框架等。本书中所有例子的代码都可以从Apress网站本书主页的源代码(Sou......一起来看看 《Ajax基础教程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具