QuietHeart's Site

Jekyll建站问题


目录

1 序言

1.1 文章的诞生过程

本文描述jekyll建站时遇到的问题,由于对jekyll建站并无专门的学习和研究,所以该文章内容目前还不够系统。

本文中大多内容是这样产生的:

  1. 在jekyll的建站过程中首先遇到某些问题,然后将改问题放于FAQ中,通过orgmode结合GTD方法来管理
  2. FAQ中的问题有些解决,有些没有解决,解决的问题或许会整理到更合适的文章章节中。
  3. 如上方式会快速形成一个jekyll建站文档的雏形,虽然不够系统,也反映了在建站经历的真实过程,便于有兴趣的朋友参考。
  4. 随着实践的增多,和文章内容的丰富,在更为熟悉之时会将所有FAQ相应内容归纳到合适的章节,该文章会逐渐形成一篇系统的文章。

2 WAIT/FORWARD FAQ [13/61]([21%])

  • State "WAIT/FORWARD" from [2015-11-27 五 17:30]
    wait for all finished.

2.1 DONE 在jekyll分类的hover上添加自动切换当前分类的代码

  • State "DONE" from "INBOX" [2015-12-03 四 16:21]

Capture Time:[2015-11-13 五 09:54]


阅读源代码。

2.2 LATER 为jekyll添加帮助或者公告或者友情链接等菜单

  • State "LATER" from "INBOX" [2016-01-08 五 17:47]

Capture Time:[2015-11-16 一 09:54]


此项记录最好整理到jekyll中相应的todo post中。

2.3 DONE 多说评论添加到 jekyll

  • State "DONE" from "INBOX" [2015-11-18 三 10:08]

Capture Time:[2015-11-17 二 11:08]


多说评论框定制参考: http://yusi123.com/2689.html

添加方式: 1、注册多说(用qq或者通常社交帐号即可) 2、站点管理生成自己的站点,然后会有地方生成相应的评论框代码。 3、将评论框代码添加到需要添加的地方即可。 可以参考: http://liberize.me/tech/jekyll-use-duoshuo-comment-system.html

http://www.ituring.com.cn/article/114888

2.4 WAIT/FORWARD 如何体现父子目录的层次关系?

  • State "WAIT/FORWARD" from "INBOX" [2016-08-24 三 11:53]
  • State "INBOX" from [2015-11-18 三 13:26]

目前分类目录的实现方式:

  1. categories包含各级分类子目录,文章存放在子目录中的 _posts 目录中。
  2. 各级子目录有 index.html 做为访问该目录的入口,并且该文件中包含该级目录的信息, 例如:

    ---
    layout: categories
    title: 命令
    _name: command
    _parent: linux
    _path: [categories, study, linux, command]
    ---
    
  3. 通过 _data/categories.json 来描述层级目录的关系,便于显示。

参考源代码。

文章所述目录层次 描述站点目录信息的文件

2.5 LATER json?

  • State "LATER" from "INBOX" [2015-11-27 五 17:51]
  • State "INBOX" from [2015-11-18 三 13:27]

2.6 MAYBE/FUTURE 如何借助变量而非常量显示一些文字?

  • State "MAYBE/FUTURE" from "INBOX" [2016-08-24 三 11:55]
  • State "INBOX" from [2015-11-18 三 13:27]

如: 目录列表中的链接文字"记事"等,用xxx.title方式来显示。 主目录中文章的分类标题,用分类的title而非常量显示。

2.7 LATER 文章全屏显示?

  • State "LATER" from "INBOX" [2016-08-24 三 11:55]
  • State "INBOX" from [2015-11-18 三 13:27]

2.8 WAIT/FORWARD 显示文章内容大纲?

  • State "WAIT/FORWARD" from "INBOX" [2016-08-24 三 11:55]
    通过orgmode,已经实现。待整理。
  • State "INBOX" from [2015-11-18 三 13:25]

2.9 MAYBE/FUTURE 嵌入flash等脚本特效如网盘

  • State "MAYBE/FUTURE" from "INBOX" [2016-08-24 三 11:55]
  • State "INBOX" from [2015-11-18 三 13:27]

2.10 MAYBE/FUTURE 如何实现和规划标签?

  • State "MAYBE/FUTURE" from "INBOX" [2016-08-24 三 11:55]
  • State "INBOX" from [2015-11-18 三 13:27]

网站主要用于阅读而非编辑,所以经常在线更新的东西,不适于用于这类网站。

2.11 NEXT 自动化建站编译与添加分类等的脚本

  • State "NEXT" from "LATER" [2016-08-24 三 11:58]
  • State "LATER" from "INBOX" [2016-08-24 三 11:56]
  • State "INBOX" from [2015-11-18 三 13:27]

2.12 NEXT 本地动态相关脚本与配置:

  • State "NEXT" from "INBOX" [2016-08-24 三 11:56]
  • State "INBOX" from [2015-11-18 三 13:27]

2.13 MAYBE/FUTURE 可以用配置设置好本地ip。

  • State "MAYBE/FUTURE" from "INBOX" [2016-08-24 三 11:57]
  • State "INBOX" from [2015-11-18 三 13:27]

2.14 NEXT 然后本地可以通过form提交调用本地脚本,完成文章的添加、删除等。

  • State "NEXT" from "INBOX" [2016-08-24 三 11:58]
  • State "INBOX" from [2015-11-18 三 13:27]

远程不用支持动态,因为远程的内容一般都是展示给别人的。更新的动作在本地就行,本地有动态即可。

2.15 MAYBE/FUTURE 脚本完成的内容实际是修改相应文件,然后commit、push。

  • State "MAYBE/FUTURE" from "INBOX" [2016-08-24 三 11:59]
  • State "INBOX" from [2015-11-18 三 13:27]

通过本地动态,方便在线编辑文章。建议修改文件内容还是通过特定编辑器,比如 vim, emacs 来进行,在线编辑器,还需另外调查。

2.16 CANCEL 但是仅限本地。这样便可对外展示,对本地而言​动态,同时又不借助动态插件,达到动态效果。

  • State "CANCEL" from "INBOX" [2016-08-24 三 12:01]
    与前面貌似重复。
  • State "INBOX" from [2015-11-18 三 13:27]

2.17 NEXT 搜索?

  • State "NEXT" from "INBOX" [2016-08-24 三 11:59]
  • State "INBOX" from [2015-11-18 三 13:27]

参考: [http://holbrook.github.io/]()

http://readthedocs.org/projects/org-babel/

2.18 WAIT/FORWARD 建立菜单

2.19 NEXT 规范一些写作规则

  • State "NEXT" from "INBOX" [2015-11-18 三 13:28]
  • State "INBOX" from [2015-11-18 三 13:28]
    • 文章引用的附件和图片等内容存放到/data目录,名称前面有和posts文章一样的时间前缀, 根据文件类型先分类,分类固定后不应再改动,所以不规定具体分类,只规定文件类型。 例如: `/data/image/2015-08-19-test_image.jpg`图片就是被`_posts/2015-08-19-xxx`文章引用的。
    • 未完成的文章放置/draft目录中。
    • 文内引用链接: 配置_config.yml,permalink=none,这样文章的站内链接就是其分类位置,当然排除_post路径段。

2.20 NEXT 如何显示未分类的内容?

  • State "NEXT" from "INBOX" [2015-11-18 三 13:28]
  • State "INBOX" from [2015-11-18 三 13:28]

2.21 DONE 链接的相对路径引用如何使用?比如引用一个文件等等?

  • State "DONE" from [2015-11-18 三 13:29] 参见: [测试代码](/categories/others/test_link.html "2015-08-19-test_link.md")

2.22 DONE 如何在_posts文章内部引用其他的_posts文章?

  • State "DONE" from [2015-11-18 三 13:29] 参见: [测试代码](/categories/others/test_link.html "2015-08-19-test_link.md")

2.23 DONE 如何实现子分类?

  • State "DONE" from [2015-11-18 三 13:29] 参见: [测试代码](/categories/others/test_link.html "2015-08-19-test_link.md")

2.24 DONE 如何计算每个分类中的内容数目?

  • State "DONE" from [2015-11-18 三 13:29] liquid模板代码:

{{site.categories.note|size}} 具体可参见: [http://www.tuicool.com/m/articles/INBnMz]() [http://higrid.net/c-art-jeklly_template_data.htm]()

2.25 DONE 插入图片的大小无法自动适配显示?

  • State "DONE" from [2015-11-18 三 13:29] css代码:

    img { max-width:100%; height:auto; } 参见: [测试代码](/categories/others/test_link.html "2015-08-19-test_link.md")

2.26 DONE markdown代码块中换行在主页中无法体现

  • State "DONE" from [2015-11-18 三 13:29] 属于标记语言解析问题。当前解决方式:换行之前上一行结尾追加2个以上空白;代码段凭借缩进来完成,代码段之前保留一空行。

2.27 INBOX html滚动条颜色如何定制?

Capture Time:[2015-11-18 三 10:07]


2.28 INBOX jekyll置顶文章

Capture Time:[2015-11-19 四 09:17]


2.29 INBOX Jekyll置顶文章、搜索功能、以及各类半成品文章片段的存放分类创建(不用每个文章都是属于某个体系)。

Capture Time:[2015-11-20 五 15:36]


2.30 INBOX jekyll 评论权限的管理

Capture Time:[2015-11-20 五 15:52]


2.31 DONE jekyll 点击顶部分类菜单不是回到页首,而是对当前页面刷新,以便回复默认分类结构

  • State "DONE" from "INBOX" [2015-11-27 五 17:29]

Capture Time:[2015-11-20 五 15:56]


<a href={{page.url}}>分类</a>

2.32 INBOX jekyll左上部分top按钮的完善,目录位置的完善

Capture Time:[2015-11-20 五 15:56]


2.33 DONE jekyll文章分界线不居中?

  • State "DONE" from "INBOX" [2015-11-27 五 17:45]
#post-list{
    /*margin: 0px 0px;*/
    padding: 0px 0px;
}

2.34 INBOX 代码框大小不自动随窗口而调整?

Capture Time:[2015-11-20 五 16:32]


2.35 INBOX Jekyll “关于”与“更多”菜单

Capture Time:[2015-11-23 一 14:19]


2.36 MAYBE/FUTURE jekyll 不支持markdown语法高亮

  • State "MAYBE/FUTURE" from "LATER" [2015-11-23 一 17:50]
  • State "LATER" from "INBOX" [2015-10-23 五 12:06]

Capture Time:[2015-10-23 五 10:08]


2.37 LATER jekyll 提示功能

  • State "LATER" from "INBOX" [2015-11-27 五 17:51]

Capture Time:[2015-11-23 一 17:57]


光标停在某处,会自动提示文字,类似: http://ergoemacs.org/emacs/elisp_library_system.html

2.38 INBOX 目前对orgmode+jekyll管理方式时orgmode中链接引用的路径问题需要解决。

Capture Time:[2015-11-27 五 16:46]


2.39 INBOX Jekyll如何处理收藏的网址?

Capture Time:[2015-11-30 一 09:51]


2.40 INBOX jekyll 上一页下一页上一篇下一篇

Capture Time:[2015-11-30 一 09:59]


2.41 INBOX Jekyll中的附件图片,还是用这样的目录:../post_files/article/data/…

Capture Time:[2015-12-01 二 10:14]


其中 post_files目录不止一个,随着目录层次而定,可能多个,这样迁移文章的时候,好迁移,也不用考虑相对路径的修改。

2.42 NEXT Jekyll Cublog迁移

  • State "NEXT" from "INBOX" [2015-12-03 四 14:16]

Capture Time:[2015-12-03 四 09:13]


随时间顺序进行,进度如下

  • 随笔

例如:

---
layout: posts
title: 努力
tags: [gtd_done, others]
comments: true
---
我正在努力着让自己成为一个真正努力的人……

From:[努力 in cublog](http://blog.chinaunix.net/uid-9525959-id-2001753.html)

2.43 INBOX Jekyll 为文章添加额外信息,比如来源、转载等等。

Capture Time:[2015-12-03 四 09:26]


2.44 INBOX jekyll设置复制选择文章的隐藏模式,双击可以激活选择复制功能

Capture Time:[2015-12-04 五 14:45]


2.45 DONE jekyll 考虑将jekyll源码与站点结果分开,在github上存放站点结果, bitbucket上存放源码

  • State "DONE" from "LATER" [2015-12-11 五 17:30]
  • State "LATER" from "INBOX" [2015-12-10 四 10:37]

Capture Time:[2015-12-09 三 17:44]


2.46 DONE jekyll中评论框的布局调整,应该在page内容外

  • State "DONE" from "LATER" [2015-12-11 五 17:31]
  • State "LATER" from "INBOX" [2015-12-10 四 10:37]

Capture Time:[2015-12-09 三 17:26]


2.47 LATER 添加丰富动作,比如双击可以解开复制文章的功能等等

  • State "LATER" from "INBOX" [2015-12-10 四 10:37]

Capture Time:[2015-12-09 三 17:48]


2.48 NEXT Jekyll分类菜单的宽度是否可以不自动改变?

  • State "NEXT" from "INBOX" [2015-12-11 五 17:38]

Capture Time:[2015-12-11 五 12:12]


2.49 NEXT jekyll 公共板,一个大的随意涂鸦的“留言板”,基于多说评论。

  • State "NEXT" from "INBOX" [2015-12-11 五 17:38]

Capture Time:[2015-12-11 五 13:51]


2.50 NEXT 搭建一个最基本的jekyll的方式,在另外一篇文章中已有体现,引用?

  • State "NEXT" from [2016-01-08 五 17:59]

2.51 INBOX 应该考虑将签名信息放在下面,以便能在摘要中显示正文

Capture Time:[2016-01-16 六 15:58]


2.52 LATER jekyll如何发布私有文件通过权限来控制访问?

  • State "LATER" from "INBOX" [2016-02-25 四 15:38]

Capture Time:[2016-02-11 四 16:35]


2.53 LATER jekyll博客导入导出

  • State "LATER" from "INBOX" [2016-02-25 四 15:39]

Capture Time:[2016-02-23 二 09:10]


2.54 LATER jekyll实现私有云与公有云可能需要了解的

  • State "LATER" from "INBOX" [2016-04-16 六 16:37]

Capture Time:[2016-03-02 三 15:32]


  1. git的子模块项目功能(私有云和公有云分别用两个库管理,私有云放在本地云库,公有云放在github或者bitbucket)。
  2. javascript的cookie功能、公钥加密(密码)对称加密(内容),可以读取私有密码等信息加密存储,解密显示。
  3. orgmode中的加密功能,可以撰写加密的org文件。

2.55 LATER jekyll搜索的改进

  • State "LATER" from "INBOX" [2016-04-16 六 16:38]

Capture Time:[2016-03-03 四 10:12]


  1. 搜索方式通过前面的 "Q" 点击进行切换。
  2. 可以:
    • [X]

      按标题搜索

      使用正则表达式,具体参考代码。

      <script>  
      var search = getQuery("s");
      
      </script>
      
    • [ ] 按分类搜索
    • [ ] 按内容搜索
    • [ ] 按全文搜索
    • [X]

      可搜索中文

      js 获取字串时需使用 decodeURI 进行转码,具体参考源码。

      //获取传递给html页面的参数
      function getQuery(name)
      {
          var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
          var r = window.location.search.substr(1).match(reg);
          //if (r!=null) return unescape(r[2]); return null;
          if (r!=null) return decodeURI(r[2]); return null;
      }
      

      参考: http://www.cnblogs.com/TivonStone/p/3504922.html

2.56 MAYBE/FUTURE jekyll 网文分类规整

  • State "MAYBE/FUTURE" from "INBOX" [2016-04-16 六 16:38]

Capture Time:[2016-03-03 四 10:18]


2.57 MAYBE/FUTURE jekyll排序功能

  • State "MAYBE/FUTURE" from "INBOX" [2016-04-16 六 16:38]

Capture Time:[2016-03-03 四 11:50]


2.58 MAYBE/FUTURE jekyll文章导出功能

  • State "MAYBE/FUTURE" from "INBOX" [2016-04-16 六 16:38]

Capture Time:[2016-03-04 五 10:15]


单篇文章导出,并且导出相关的引用?

2.59 LATER jekyll 如何实现相对路径迁移?

  • State "LATER" from "INBOX" [2016-08-24 三 14:39]

Capture Time:[2016-05-30 一 15:51]


目前迁移之后,内部链接还是基于服务器根路径的路径。

2.60 INBOX 如何快速建立一个简单的jekyll网站?

Capture Time:[2016-05-30 一 15:52]


2.61 LATER jekyll的分类选择跳来跳去有点不好操作,有待改善。

  • State "LATER" from "INBOX" [2016-08-24 三 11:16]

Capture Time:[2016-08-24 三 11:08]