[2021/11/09/15:08:59] :本文主要介绍© 哨兵Sentry CyberSecurity相关主题源码的路由、相关配置等

TIPS:

在使用本教程前,强烈建议先阅读《构建-Jekyll-Quick-Start》 本地克隆仓库代码后进行本地编译然后jekyll server启动服务,基本了解Jekyll的相关知识后,再尝试本教程。

当然,您也可以跳过《构建-Jekyll-Quick-Start》,那么请严格按照教程步骤操作;

有问题请提issues

# 以《虚函数表》为例

  • 文件名称年-月-日-时-间-中英文-均可-空格-用横杠代替.md
    • 2022-01-09-Learning-process-about-virtual-function-table.md
  • 仓库博文分为几个栏目:
    • BLOG - 相关技术博客对应仓库文件位置_posts/blog,下面不赘述,以此类推;
    • TOPS - 相关博客置顶
    • DAILY - 相关日常闲谈文章
    • ABOUT - 个人研究文章
  • 所以所有MD格式文件都应按照的仓库POST文件格式添加上文件头:
---
layout: post
#分类布局,blog栏目文章=post,Tops栏目文章=top,不确定可以查看对应文件夹下文件值
title: "关于虚函数表的学习过程"
#文章标题,简单概括关于文章的内容
date: 2022-01-09
#上传仓库时间
#wrench: 2022-01-06
#如文章有修改,则填上修改时间,也可以直接删除改行,需要在加上
author: codecat
#作者
toc: true
#文章目录,若不为True则文章没有目录
categories: [blog, 笔记]
#分类,可以提取文章相关关键词
permalink: /blog/2022/Learning-process-about-virtual-function-table/
#访问链接,一般为$root-url/$permalink
---
  • 由于本仓库内title为全局定义ctitle属性,默认为HTML h3大小,所以建议MD文件内容所有标题前均加上两个#

比如,一级标题# 虚函数表新增为三级标题### 虚函数表,那么大小较为平均美观;否则会出现如下所示的现象,布局较为混乱:

QQ图片20220109160635.png

图片可以使用sm.ms公共图床进行图片展示,图片上传完成后页面会给出相关格式的链接供使用:

QQ图片20220109160907.png

# 路由问题

源码下载下来后,基本的文件形式供参考:

截屏2021-07-13 下午3.03.46.png

文章内容往后更新,此处主要测试图床功能

  • 实操下来发现路由结构如下:
  • 新闻-公告窗口相互绑定/newsreadmore功能同样跳转 ;
  • 帮助-个人希望实现对于近期的一些研究,如struts2,shiro;但是部分功能路由和json文件对应的site.url/help路由暂时无法得知如何代码。

  • 2020-11-08更新: 发现路由信息:
  • _data/options.yml配置文件可以选择配置force_redirect_help功能,即强制路由跳转至help/*{redirect_url}
  • 可以选择配置unlist选项、new显示等。

  • 2021-2-1更新: 发现头部样式关联:
  • category配置与layout配置
  • layout布局选项配置,如选择配置help那么则可以在近期研究中左侧导航栏中发现

# Git

Build

Jekyll Demo

直接编译,ECMAScript6,因此必须安装 ruby >= 2.0 和 nodejs.

  • 1.安装 nodejs yum install nodejs
  • 2.安装 ruby 2.2.4 and rubygems
    • Step 1: Install Required Packages
    • Step 2: Compile ruby 2.2.4 source code
    • Step 3: Install rubygems
yum install gcc-c++ patch readline readline-devel zlib zlib-devel
yum install libyaml-devel libffi-devel openssl-devel make
yum install bzip2 autoconf automake libtool bison iconv-devel sqlite-devel

wget -c https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz

wget -c https://rubygems.org/rubygems/rubygems-2.4.8.tgz
ruby setup.rb
  1. 安装 bundle 和 build
gem install bundle
gem install build
  1. Fork mirrors source code
bundle install
jekyll build

在MacOS BigSur v11.2下测试无任何问题,之后在博客文件夹根目录下jekyll serve -P 80bundle exec jekyll server -P 80即可运行demo,可参考:

常规Git Push操作

  • 命令行:
git add .
git commit -m "[`date +%Y/%m/%d/%T`]<移除::.DS_Store>: commit by `git config --global --list|grep user.name|awk -F"=" '{print $2}'`"
#Linux
#[`date +%Y/%m/%d/%T`]Linux时间戳;
#<移除::.DS_Store> 需要修改的;思路为:<[操作:移除/修复/更新/etc..]::本次上传修改的文件/.DS_Store>
#commit by `git config --global --list|grep user.name|awk -F"=" '{print $2}'` 取出操作人

#Windows
> (windows Git Bash) git commit -m "[`date +%Y/%m/%d/%T`]<测试::GitBash on MSWin>: commit by `git config --global --list|grep user.name|awk -F"=" '{print $2}'`"
#[SCS-1.0-dev bfc8df8] [2021/12/07/13:59:59]<测试::GitBash on MSWin>: commit by sentryCyberSec
git push -u origin main
  • Git on IDEA
    • Git在IDEA中似乎不能包裹命令提交、推送;
    • 添加模版加上时间戳;
    • 参考链接

全新的仓库若希望修改默认的master分支可以:git branch -M main修改分支名称master为main。

Git全局禁止一些文件上传到仓库

  • .DS_Store
  1. .DS_Store 加入全局的 .gitignore 文件,执行命令:
echo .DS_Store >> ~/.gitignore_global
  1. 将这个全局的 .gitignore 文件加入Git的全局config文件中,执行命令:
git config --global core.excludesfile ~/.gitignore_global

# Action + Jekyll

yml文件