个人管理

Jekyll建站问题

2020-02-18  本文已影响0人  QuietHeart

序言

文章的诞生过程

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

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

  1. 在jekyll的建站过程中首先遇到某些问题,然后将改问题放于FAQ中,通过orgmode结合GTD方法来管理

  2. FAQ中的问题有些解决,有些没有解决,解决的问题或许会整理到更合适的文章章节中。

  3. 如上方式会快速形成一个jekyll建站文档的雏形,虽然不够系统,也反映了在建站经历的真实过程,便于有兴趣的朋友参考。

  4. 随着实践的增多,和文章内容的丰富,在更为熟悉之时会将所有FAQ相应内容归纳到合适的章节,该文章会逐渐形成一篇系统的文章。

WAIT/FORWARD FAQ <code>[13/61]</code>(<code>[21%]</code>)

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

阅读源代码。

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

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

DONE 多说评论添加到 jekyll

多说评论框定制参考:
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

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

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

  1. categories包含各级分类子目录,文章存放在子目录中的 _posts 目录中。

  2. 各级子目录有 index.html 做为访问该目录的入口,并且该文件中包含该级目录的信息,
    例如:

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

参考源代码。

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

LATER json?

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

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

LATER 文章全屏显示?

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

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

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

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

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

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

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

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

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

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

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

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

NEXT 搜索?

参考:
http://holbrook.github.io/

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

WAIT/FORWARD 建立菜单

右上角菜单来表示标签等,节省页面空间。

参考:

http://www.fuzihao.org/blog/2015/02/19/org-mode%E6%95%99%E7%A8%8B/

http://blog.binchen.org/categories/index.html

http://z.sdutlinux.org/soft/data/20120610002446/index.html

NEXT 规范一些写作规则

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

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

参见: 测试代码

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

参见: 测试代码

DONE 如何实现子分类?

参见: 测试代码

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

liquid模板代码:

{%raw%}
        {{site.categories.note|size}}  
{%endraw%}

具体可参见:

http://www.tuicool.com/m/articles/INBnMz

http://higrid.net/c-art-jeklly_template_data.htm

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

css代码:

img {
  max-width:100%;
  height:auto;
}

参见:

测试代码

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

属于标记语言解析问题。当前解决方式:换行之前上一行结尾追加2个以上空白;代码段凭借缩进来完成,代码段之前保留一空行。

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

INBOX jekyll置顶文章

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

INBOX jekyll 评论权限的管理

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

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

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

DONE jekyll文章分界线不居中?

#post-list{
    /*margin: 0px 0px;*/
    padding: 0px 0px;
}

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

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

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

LATER jekyll 提示功能

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

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

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

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

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

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

NEXT Jekyll Cublog迁移

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

例如:

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

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

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

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

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

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

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

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

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

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

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

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

LATER jekyll博客导入导出

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

  1. git的子模块项目功能(私有云和公有云分别用两个库管理,私有云放在本地云库,公有云放在github或者bitbucket)。

  2. javascript的cookie功能、公钥加密(密码)对称加密(内容),可以读取私有密码等信息加密存储,解密显示。

  3. orgmode中的加密功能,可以撰写加密的org文件。

LATER jekyll搜索的改进

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

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

      <script>  
      var search = getQuery("s");
      {% for post in site.posts %}
            var article = '{{ post.title }}'; //by title
            var reg = new RegExp(search, "i");
            //var article = '{{ post.content | strip_html| strip |strip_newlines | url_escape}}';
            //if (article.indexOf(search) != -1)
            if (article.match(reg) != null)
            {
                 document.write('[{{ post.date | date: "%F" }}]<a href="{{post.url}}"> {{ post.title }} </a> <br>');
                 document.write("<hr class='article_line'>");
            }
       {% endfor %}
      </script>
      
    • 按分类搜索

    • 按内容搜索

    • 按全文搜索

    • 可搜索中文

      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

MAYBE/FUTURE jekyll 网文分类规整

MAYBE/FUTURE jekyll排序功能

MAYBE/FUTURE jekyll文章导出功能

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

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

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读