Outline

Use Github Page+Jekyll+markdown to build personal blog website.

Github respository: Youth-49/Youth-49.github.io

Jekyll is based on ruby. Temlpate is Vno Jekyll.

Reference:

  1. 使用github pages搭建个人博客 - 帅气陈吃苹果 - 博客园 (cnblogs.com)
  2. 搭建 Github Pages 个人博客网站_knight-yun的博客-CSDN博客_github pages 博客

Configuration on my laptop:

  1. ruby 2.7.5: Download Ruby (ruby-lang.org)
  2. gem: run gem in cmd to check installation
  3. jekyll: run gem install jekyll to install jekyll
  4. bundler: run gem install bundler and bundle install
  5. run bundle exec jekyll server to preview

To support LaTex, add these codes in the file _includes/head.html:

<!-- 数学公式 -->
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
      inlineMath: [['$','$']]
    }
  });
</script>

The introduction for this template is as follows(copied from its original posts):

What’s this

Vno Jekyll is a theme for Jekyll. It is a port of my Ghost theme vno, which is originally developed from Dale Anthony’s Uno.

Usage

$ git clone https://github.com/onevcat/vno-jekyll.git your_site
$ cd your_site
$ bundler install
$ bundler exec jekyll serve

Your site with Vno Jekyll enabled should be accessible in http://127.0.0.1:4000.

For more information about Jekyll, please visit Jekyll’s site.

Configuration

All configuration could be done in _config.yml. Remember you need to restart to serve the page when after changing the config file. Everything in the config file should be self-explanatory.

Background image and avatar

You could replace the background and avatar image in assets/images folder to change them.

Post

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

Jekyll also offers powerful support for code snippets:

def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

Compared with normal code snippets powered by markdown:

def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.

License

Great thanks to Dale Anthony and his Uno. Vno Jekyll is based on Uno, and contains a lot of modification on page layout, animation, font and some more things I can not remember. Vno Jekyll is followed with Uno and be licensed as Creative Commons Attribution 4.0 International. See the link for more information.