为站点增加几个常用功能

Also published on S&C. cc


给站点增加了几个常用功能,笔记如下。

Post Archives

按照站点选择的方式或主题不同而各有异同。主要的语法是:

archives.html 文件

通常archives.html文件会放在站点根目录下方便访问和放置。它的主要内容是:

{% for post in site.posts %}
  {% capture month %}{{ post.date | date: '%m%Y' }}{% endcapture %}
    {% capture nmonth %}{{ post.next.date | date: '%m%Y' }}{% endcapture %}
        {% if month != nmonth %}
              {% if forloop.index != 1 %}</ul>{% endif %}
                    <h5>{{ post.date | date: '%B %Y' }}</h5><ul>
                        {% endif %}
                          <li><span class="time">{{ post.date | date: "%d/%m/%Y" }}</span>    <a href="{{ post.url }}">{{ post.title }}</a></li>
                          {% endfor %}

文件的作用就是按时间为分类list post。那么,我们需要在某个或某些页面放置一个链接,方便访问。以本站点为例,这个链接放置在侧栏中:

<li class="sidebar-nav-item"><a href="{{ site.baseurl }}/archives/">Posts Archives</a></li>

或者,有时你需要在主页上放置一个链接,例如:

      {% if page.archives %} <a href='{{ site.baseurl }}{{ page.archives }}'> Posts</a>{% endif %}
            {% endif %}

根据站点的实际情况进行修改即可。

404 页面

Github Pages默认有一个404页面,如果你需要自定义,404页面的跳转也很简单。

  1. 在你的站点repo中,切换至master分支,根目录下新建一个404.html404.md文件;
  2. 在404文件开头设置YAML头信息,如permalink: /404.html
  3. 增加其它你希望在404页面显示的内容;
  4. 收工或push完了收工。

Github能够从YAML头信息处得知那就是你希望跳转的404页面。如图所示:

404

社交按钮

主要分两步进行:

1. 录入社交账号信息

在站点设置文件_config.yml中放入类似以下的内容:

twitter_username:  princeliebe

2. 显示页面增加按钮

以twitter为例,在相应的页面中,放入以下语句:

      {% if site.twitter_username %}
            <a href="https://www.twitter.com/{{ site.twitter_username }}" target="_blank" style="text-decoration:none">
                    <i class="fa fa-fw fa-twitter"></i>

增加分享选项

计划进行的是:读者浏览post的时候,文末增加分享按钮,例如分享到twitter。我们需要做的就是在post的layout模板里面,增加一段语句:

<footer class="post-footer">
             <section class="share">
                             <h5>分享|Share</h5>
                                             <a class="icon-twitter" href="https://twitter.com/intent/tweet?text=&quot;{{ page.title }}&quot;%20{{ site.url }}{{ page.url }}%20via%20&#64;princeliebe">
                                                                 <span class="hidden">Twitter</span>
                                                                                 </a>
                                                                                             </section>     
                                                                                                     </footer>

如上述语句中,分享 | Share的内容、via后面的内容,可根据自己的实际情况设置。其他分享按钮做法类似。

想到再补充。

So


关于Github Pages的若干坑

Also published on S&C

CC 4.0 BY-SA


1. SSH key的生成坑

处于试验效果,开启了两个不同账户的repo。为第二个repo开启SSH key的时候,遇到了一个小坑。关于Github SSH key的生成,手记如下:

Generating SSH key

  1. 打开Teminal,像我们前文提到的,输入以下命令:
  ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

引号部分用你Github的注册邮箱代替。这里有一个小坑就是,如果你把别的账号之邮箱拿来生成了SSH key,用在本账号中,git push的时候就会一直用别的账号push。

  1. 生成私钥和公钥的目录
      Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
    
  2. 密码
      Enter passphrase (empty for no passphrase): [Type a passphrase]
      Enter same passphrase again: [Type passphrase again]
    
  3. 查看你的key
      ls -al ~/.ssh
    
  4. 将你的SSH key加到ssh-agent
      ssh-add ~/.ssh/id_rsa
    

Add to Github

到你的Github账户setting处加入刚才生成的公钥

2. Permalinks的坑

Permalinks就是每个post的固定地址。在_config.yml文件中,一般会有如下所示的定义:

  # Permalinks
  permalink:        pretty

务必注意pretty的定义,不同主题的定义不同,如果你更换主题,这个变量是不同的。

3. Jekyll图片自适应

通常,Jekyll对于页面的图片是不会进行自适应的。即:不同分辨率的屏幕查看的页面表现均不同、不同设备查看页面均不同…

因此我们要通过别的美化措施来实现图片随网页大小自动缩放。在对page、post、default等模板的CSS定义文件中,增加以下语句:

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

不要用别的其他命令,自适应最理想。

4. Git环境配置

记录在此备忘

  $git config --global user.name "用户名"
  $git config --global user.email "你的邮件地址"
  $mkdir 用户名.github.com && cd 用户名.github.com
  $git init 
  $git remote add origin https://github.com/用户名/用户名.github.com.git
  $git pull origin master

该部分与SSH key生成相关,回去看看

icon