From 4c9c9ab88cec6b8c9364917564484d9170a55b3c Mon Sep 17 00:00:00 2001 From: garhve Date: Sat, 10 Dec 2022 08:59:16 +0800 Subject: change blog content and add font --- cn/index.xml | 2 +- cn/posts/2/index.html | 47 ++++------------------------------------------- cn/posts/index.xml | 2 +- fonts/ssbb.ttf | Bin 0 -> 5132344 bytes posts/1/index.html | 4 ++-- posts/3/index.html | 10 +++++----- posts/5/index.html | 6 +++--- posts/6/index.html | 18 +++++++++--------- 8 files changed, 25 insertions(+), 64 deletions(-) create mode 100644 fonts/ssbb.ttf diff --git a/cn/index.xml b/cn/index.xml index 24e09d2..8e78943 100644 --- a/cn/index.xml +++ b/cn/index.xml @@ -25,7 +25,7 @@ Linux端呢,则暂时没有什么好办法,只能老老实实打开网页上 原先,发布一篇博客我的流程为, hugo new post -> vim 找到文章 -> 保存或者发布 -> 然后到public文件夹 push出去。 太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~ -###################################################################### # @author : garhve (dev@garhve.com) # @file : blog # @created : Friday Dec 09, 2022 16:09:42 CST # # @description : simplify blog publishing. +这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。 diff --git a/cn/posts/2/index.html b/cn/posts/2/index.html index 92eb216..3c37d26 100644 --- a/cn/posts/2/index.html +++ b/cn/posts/2/index.html @@ -23,7 +23,7 @@ "articleSection" : "posts", "name" : "测试自动创建博客", "headline" : "测试自动创建博客", - "description" : "hugo挺不错的,就是太麻烦了。以下几点都是在使用时遇到的一些问题:\n写作 编辑器随便用个支持MD的就行了,这句陈述挺好。\n但现实是,我家里一台MacBook,一台arch Linux的Thinkpad,公司一台MacBook。 所以跨平台对我来说就很重要了。我有点洁癖,家目录我都在努力的把config和local 文件整合在各自不同的区域名以至于不那么乱。在每台电脑上下个markdown editor, 同步文件再在每台电脑上额外加个云,想想我都受不了。\n不过目前我试过了一个软件marktext,功能和UI都很不错,但由于同步 问题我不太想用。\n其实我比较倾向于下载个web app搭在我raspberry pi上,再通过公网挂出去, 达到我在任意地方都能使用的目的来着,但目前的app总有这样那样的问题 使我不是很满意,也就一直耽搁着了,现在也就是通过ssh直接到我的arch里 直接使用vim写文章,有点别扭\u0026hellip; 用vim写markdown。\n图片 图片怎么管理原本也是个问题,我买入了一个存储桶并配置好了nginx, 但这比较适合fetch图片,当我截了新图要上传时,要么登录存储桶要么scp到 服务器去上传,而且传好后的url也是一个麻烦事。试了各种方法都不太行之后。\n在Mac端我用了uPic,这个比较方便的是不止可以传图片,其他文件需要 保存了也可以通过它上传,并且,它支持上传后直接拿到自定义对url,对于 我自定义了域名去匹配nginx的规则很方便。而且只需第一次配置好, 后面使用即可。\nLinux端呢,则暂时没有什么好办法,只能老老实实打开网页上传了~\n发布 Hugo的发布其实也是一个问题。在上面说过,我有洁癖,其实我还有一些强迫症。 自从GitHub被微软收购后,我很少使用了。虽然我只是一介平民,但我还是希望 尽可能将我不同的指纹分散隔离开来。我用了我自有的服务器去托管我的一些服务, 其中便包括这个博客。 Hugo我是安装在我的Linux上,我并没有让它接入公网。我有在服务器上托管了一个 cgit来当我的私人仓库,于是理所当然的,我把public给git到服务器上了。\n原先,发布一篇博客我的流程为,\nhugo new post -\u0026gt; vim 找到文章 -\u0026gt; 保存或者发布 -\u0026gt; 然后到public文件夹 push出去。\n太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~\n###################################################################### # @author : garhve (dev@garhve.com) # @file : blog # @created : Friday Dec 09, 2022 16:09:42 CST # # @description : simplify blog publishing.", + "description" : "hugo挺不错的,就是太麻烦了。以下几点都是在使用时遇到的一些问题:\n写作 编辑器随便用个支持MD的就行了,这句陈述挺好。\n但现实是,我家里一台MacBook,一台arch Linux的Thinkpad,公司一台MacBook。 所以跨平台对我来说就很重要了。我有点洁癖,家目录我都在努力的把config和local 文件整合在各自不同的区域名以至于不那么乱。在每台电脑上下个markdown editor, 同步文件再在每台电脑上额外加个云,想想我都受不了。\n不过目前我试过了一个软件marktext,功能和UI都很不错,但由于同步 问题我不太想用。\n其实我比较倾向于下载个web app搭在我raspberry pi上,再通过公网挂出去, 达到我在任意地方都能使用的目的来着,但目前的app总有这样那样的问题 使我不是很满意,也就一直耽搁着了,现在也就是通过ssh直接到我的arch里 直接使用vim写文章,有点别扭\u0026hellip; 用vim写markdown。\n图片 图片怎么管理原本也是个问题,我买入了一个存储桶并配置好了nginx, 但这比较适合fetch图片,当我截了新图要上传时,要么登录存储桶要么scp到 服务器去上传,而且传好后的url也是一个麻烦事。试了各种方法都不太行之后。\n在Mac端我用了uPic,这个比较方便的是不止可以传图片,其他文件需要 保存了也可以通过它上传,并且,它支持上传后直接拿到自定义对url,对于 我自定义了域名去匹配nginx的规则很方便。而且只需第一次配置好, 后面使用即可。\nLinux端呢,则暂时没有什么好办法,只能老老实实打开网页上传了~\n发布 Hugo的发布其实也是一个问题。在上面说过,我有洁癖,其实我还有一些强迫症。 自从GitHub被微软收购后,我很少使用了。虽然我只是一介平民,但我还是希望 尽可能将我不同的指纹分散隔离开来。我用了我自有的服务器去托管我的一些服务, 其中便包括这个博客。 Hugo我是安装在我的Linux上,我并没有让它接入公网。我有在服务器上托管了一个 cgit来当我的私人仓库,于是理所当然的,我把public给git到服务器上了。\n原先,发布一篇博客我的流程为,\nhugo new post -\u0026gt; vim 找到文章 -\u0026gt; 保存或者发布 -\u0026gt; 然后到public文件夹 push出去。\n太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~\n这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。", "inLanguage" : "en-US", "author" : "garhve", "creator" : "garhve", @@ -52,7 +52,7 @@ Linux端呢,则暂时没有什么好办法,只能老老实实打开网页上 原先,发布一篇博客我的流程为, hugo new post -> vim 找到文章 -> 保存或者发布 -> 然后到public文件夹 push出去。 太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~ -###################################################################### # @author : garhve (dev@garhve.com) # @file : blog # @created : Friday Dec 09, 2022 16:09:42 CST # # @description : simplify blog publishing." /> +这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。" /> +这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。" /> @@ -177,46 +177,7 @@ push出去。

太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~

-
######################################################################
-# @author      : garhve (dev@garhve.com)
-# @file        : blog
-# @created     : Friday Dec 09, 2022 16:09:42 CST
-# 
-# @description : simplify blog publishing.                                                                             
-######################################################################
-
-p="$(pwd)"
-
-cd "$HOME/Storage/data/blog"
-
-echo "Enter the blog name"
-read -r name
-
-hugo new posts/"$name"
-
-echo "1. en"
-echo "2. cn"
-echo "all option would be default to 1 except 2[1 or 2]: "
-read l
-
-if [ $l -eq 1 ]; then
-    lang="en"
-elif [ $l -eq 2 ]; then
-    lang="cn"
-else
-    lang="en"
-fi
-[ $lang == "cn" ] && mv "content/en/posts/$name" "content/cn/posts/$name"
-vim "content/$lang/posts/$name"
-
-hugo
-cd public
-git add .
-read -r -p "commit message: " com
-git commit -m "$com"
-
-cd "$p"
-

这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 +

这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。

diff --git a/cn/posts/index.xml b/cn/posts/index.xml index 5f5f341..cbf44da 100644 --- a/cn/posts/index.xml +++ b/cn/posts/index.xml @@ -25,7 +25,7 @@ Linux端呢,则暂时没有什么好办法,只能老老实实打开网页上 原先,发布一篇博客我的流程为, hugo new post -> vim 找到文章 -> 保存或者发布 -> 然后到public文件夹 push出去。 太麻烦了,我就写了个简单的脚本来简化一下流程,反正是自用的,所以也不用考虑 怎么处理不同的位置,并且原先由于发布比较繁琐,草稿就都存在本地了,现在 我也可以直接将草稿发布出来,看得见,我才有动力写~ -###################################################################### # @author : garhve (dev@garhve.com) # @file : blog # @created : Friday Dec 09, 2022 16:09:42 CST # # @description : simplify blog publishing. +这片文章的出现,也只是我想确认一下能不能正确处理好中文内容。这样一说,突然想起来编辑也挺麻烦的。。 也许可以将代码优化下以后就省心了,哈哈。
diff --git a/fonts/ssbb.ttf b/fonts/ssbb.ttf new file mode 100644 index 0000000..9673db1 Binary files /dev/null and b/fonts/ssbb.ttf differ diff --git a/posts/1/index.html b/posts/1/index.html index 12dacc9..1839247 100644 --- a/posts/1/index.html +++ b/posts/1/index.html @@ -127,7 +127,7 @@ Due to personal interest, I didn’t choose frame to base my website. I

Due to personal interest, I didn’t choose frame to base my website. I use Nginx but I don’t familiar with it. making it shows my content is not that difficult even that I don’t know much fancy state, but I stucked on SSL.

In order to use https instead of http, I choosed let’s encrypt, which is good for me and it’s free. However, I can only getting my non-www domain working. when it comes to www domain, it still http.

I found solutions all about using return to returning https, but it won’t work

-
server {
+
server {
     server_name www.garhve.com;
 	return 301 https://www.garhve.com$request_uri
 }
@@ -135,7 +135,7 @@ Due to personal interest, I didn’t choose frame to base my website. I
 

After searching and searching, I found where i was getting wrong.

Above statement only return https-www which doesn’t hold any contents, all I need is to redirect the https-www to https-non-www.

So, change to this one

-
server {
+
server {
     listen 80;
 	server_name www.garhve.com garhve.com;
 	return 301 https://garhve.com$request_uri;
diff --git a/posts/3/index.html b/posts/3/index.html
index 1a5acd0..bef5f11 100644
--- a/posts/3/index.html
+++ b/posts/3/index.html
@@ -125,7 +125,7 @@ delete file foo every minute * * * * * rm foo delete file foo every 15 minutes 1
           

Crontab

crontab is a useful tool, I really regret that I don’t familar it earlier.

It’s usage really simple, and these two are my frequent using:

-
crontab -e      #edit crontab file that reside in /var/spool/cron
+
crontab -e      #edit crontab file that reside in /var/spool/cron
 crontab -l      #list current crontab job
 

It basic syntax as follow, also really simple crontab-layout.jpg

@@ -185,7 +185,7 @@ e.g. echo path/to/most/inner/file | cut -d '/' -f1 this will give m

Daily update bt tracker

I already learn shell script for a while.. so I wrote a simple script to test whether I really got used to it, but result is obviously, I need more and more practice to memorize commands.

-
#! /bin/sh
+
#! /bin/sh
 #bt-tracker.txt
 site=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt
 
@@ -231,15 +231,15 @@ e.g. echo path/to/most/inner/file | cut -d '/' -f1 this will give m
 
  • This will only search through those files which have .c or .h extensions:
-
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
+
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
 
  • This will exclude searching all the files ending with .o extension:
-
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
+
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
 
  • For directories it’s possible to exclude one or more directories using the --exclude-dir parameter. For example, this will exclude the dirs dir1/, dir2/ and all of them matching *.dst/:
-
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
+
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
 

more info could see man grep.

diff --git a/posts/5/index.html b/posts/5/index.html index b66075b..ee99aa3 100644 --- a/posts/5/index.html +++ b/posts/5/index.html @@ -140,7 +140,7 @@ Arguments are delimeted by semi colon (;)." />

Followed by the command, somtimes delimited by opening square bracket ([), known as a Control Sequence Introducer (CSI), optionally followed by arguments and the command itself.

Arguments are delimeted by semi colon (;).

For example:

-
\x1b[1;31m  # Set style to bold, red foreground.
+
\x1b[1;31m  # Set style to bold, red foreground.
 

Sequences

  • ESC - sequence starting with ESC (\x1B)
  • @@ -513,7 +513,7 @@ Arguments are delimeted by semi colon (;)." />

    Note: the Reset color is the reset code that resets all colors and text effects, Use Default color to reset colors only.

    Most terminals, apart from the basic set of 8 colors, also support the “bright” or “bold” colors. These have their own set of codes, mirroring the normal colors, but with an additional ;1 in their codes:

    -
    # Set style to bold, red foreground.
    +
    # Set style to bold, red foreground.
     \x1b[1;31mHello
     # Set style to dimmed white foreground with red background.
     \x1b[2;37;41mWorld
    @@ -740,7 +740,7 @@ Arguments are delimeted by semi colon (;)." />
     

    Note: While these modes may be supported by the most terminals, some may not work in multiplexers like tmux.

    Keyboard Strings

    -
    ESC[{code};{string};{...}p
    +
    ESC[{code};{string};{...}p
     

    Redefines a keyboard key to a specified string.

    The parameters for this escape sequence are defined as follows:

      diff --git a/posts/6/index.html b/posts/6/index.html index 2828d15..4baa0c6 100644 --- a/posts/6/index.html +++ b/posts/6/index.html @@ -149,7 +149,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta

      the connection to the stream used by FD y is copied to FD x

      curl cip.cc > result 2>&1

      ping localhost > result 2>&1

      -
      # exec can be used to change the file descriptors of bash itself,
      +
      # exec can be used to change the file descriptors of bash itself,
       # and if you use an x that doesn't yet exist,
       # bash will create a new file descriptor ("plug") for you with that number.
       # - in command is to close new FD 3 we'd created before.
      @@ -172,13 +172,13 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
       

      ping localhost &>result

      Here documents

      -
      <<delimiter
      +
      <<delimiter
       	Here document
       delimiter
       

      Make FD 0 read from the string between delimiters

      Here-Documents are great for reading blocks of text to command line.

      -
      cat << EOF
      +
      cat << EOF
       this is within here document
       I can write as many lines as I like
       and terminate with line of demiliter only
      @@ -189,7 +189,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
       

      Make FD 0 read from the string

      Here strings are very similar to here documents but more concise. They are generally preferred over here documents.

      -
      cat <<< "This,
      +
      cat <<< "This,
       is the here strings. tab will also be read."
       

      Moving file decipher

      @@ -197,7 +197,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta

      Replace FD x with FD y and close FD y

      Easy way of [x]>&y, y>&-

      -
      # 3>&1-: copy FD 1 to FD 3 and close FD 1.
      +
      # 3>&1-: copy FD 1 to FD 3 and close FD 1.
       #  >&3-: copy FD 3 to FD 1 and close FD 3.
       exec 3>&1- >mylog; echo moo; exec >&3-
       
      @@ -206,7 +206,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta

      Open FD x for both reading and writing to file

      The file descriptor at x is opened with a stream to the file that can be used for writing as well as reading bytes. Usually you’ll use two file descriptors for this. One of the rare cases where this is useful is when setting up a stream with a read/write device such as a network socket.

      -
      exec 5<>aFile
      +
      exec 5<>aFile
       cat >&5 "Hello world"	# make FD 1 write to where FD 5 currently writing, copy file descriptor FD 5 to FD 1
       cat <&5			# make FD 0 read from where FD 5 currently reading, copy file descriptor FD 5 to FD 0, then cat will send content to FD 1
       
      @@ -248,7 +248,7 @@ zsh. : setopt extendedglob

      Command Substitution

      we can expansion commands within commands, but must use double-quote "" instead of ''

      -
      # this will output contents in hello.h to screen
      +
      # this will output contents in hello.h to screen
       cat hello.h
       
       # this will expand `cat hello.h` to real contents in 
      @@ -296,7 +296,7 @@ zsh. : setopt extendedglob
       

      In addition, we can put braces ({ and }) around our parameter, which indicates where variable is about to begin and end.

      e.g. name=orange; echo there are 4 "${name}s" there are 4 oranges.

      -
      name=orange
      +
      name=orange
       echo "there are 4 ${name}s."	# there are 4 oranges.
       echo "there are 4 $names."	# there are 4 .
       

      here, we put {}aroundnameso that bash can be told that suffix s is not a part of variable. otherwise, it will treat names as parameter and looking for its value, which is none in our example.

      @@ -305,7 +305,7 @@ zsh. : setopt extendedglob

      While expanding a parameter, it is possible to apply an operator to the expanding value without alternate original value.

      I use these mostly

      -
      # remove string before pattern   	${name#pattern} shortest	${name##pattern} longest
      +
      # remove string before pattern   	${name#pattern} shortest	${name##pattern} longest
       # remove string after pattern    	${name%pattern} longest 	${name%%pattern} shortest
       # delete first matching pattern		${name/pattern}
       # delete all matching pattern		${name//pattern}
      -- 
      cgit v1.2.3-70-g09d2