my web site recording
思路
搭建git服务,git目录作为网站的主目录,可以远程通过git命令直接发布到这个目录 用nginx来做web server
自动化部署(用webhook)
参考:https://gitee.com/douboer/testhook
运行
[gavin@kvm-douboer ~/myweb]$ pwd /home/gavin/myweb 在服务器侧该目录下运行: [gavin@kvm-douboer ~]$ sudo hugo server -D –bind 24.233.3.126 -p 80 –baseURL=http://biboer.cn &
过程记录
20240222
有问题,git是密文方式存储,nginx不能直接解析;
变通的办法是,用一个定时任务发布到nginx指向的目录。
client: A1(从gitserver拉下来,日常编辑维护)
⬆️
server: git server –> A2(从gitserver定时拉取,不会手动变更) <– nginx
hexo wordpress hugo markdown
-
biboer.cn,www.biboer.cn,解析到24.233.3.126通 配置页面,http://www.everdns.com/Analysis
-
Centos7.3、nginx环境下部署hugo博客 https://cloud.tencent.com/developer/article/1834210
yum install net-tools -y netstat -lnpt
- hugo example无法访问。 hugo server -D –themesDir ../..
solve: cd /home/gavin/notrack/exampleSite hugo server -D –themesDir ../.. –bind 24.233.3.126 -p 80 –baseURL=http://24.233.3.126:80
–themesDir themes目录所在的路径(相对于当前执行路径)
20240223
https://gohugo.io/getting-started/quick-start/
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
vs. ❓
git remote add origin https://github.com/theNewDynamic/gohugo-theme-ananke.git
git pull
20240224
find | grep config. | xargs -I {} cp {} /tmp
hugo server –bind 24.233.3.126 -p 80 –baseURL=http://24.233.3.126:80
- scp推送到远程 scp ~/Downloads/IMG_0688.heic gavin@biboer.cn:/tmp
20240225
部署hugo-theme-cleanwhite,穿越完成。 研究config.toml,algolia搜索没解决。 已解决。
- 🔔 markdown不换行问题,末尾加两空格
20240225
- gavin@GavinsMAC webhook% git push -u origin master error: src refspec master does not match any error: failed to push some refs to ‘https://gitee.com/douboer/testhook.git' Solve:
git branch -l
git checkout master
20240226
-
markdown头部解析及方便维护问题。
-
npm❓
-
通过webhook,自动部署服务 本地修改 – 提交到github/gitee – 触发webhook – push到web服务器
-
nodejs环境 问AI,在服务器侧写一段js代码,监听80端口用户访问http://www.biboer.cn/xxx/,当用户访问该链接触发服务器侧调用shell脚本“pushshell”,并打印log 用python代码解决。
-
./themes/hugo-theme-cleanwhite/layouts/404.html # 定义404页
20240228
- 从notebook采编代码,未完成❓
- 解析markdown文件,按目录头(##)分割文件,输出到不同的文件中。
- 文件名使用:目录标题.md
- 生成的文件插入头部
- 解析markdown文件,按目录头(##)分割文件,输出到不同的文件中。
格式:parsedairy.py -t -l 2 *.md -t 时间解析,放到文件头的date中,如: “date: 2024-01-00 18:00:00” -l num,解析到哪一级,如##,num为2
-
algolia 搜索,未成功❓ solved
-
hugo命令生成静态页面public作用,发布流程❓ A:自己部署nginx等web service,发布到相应目录部署。 用hugo自带的服务器能力,不需要用hugo命令生成public
20240310
<script>
var _hmt = _hmt ⎪⎪ [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?8af1866964126ae65f4b6d38d2030b73";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
tracking ID: 8af1866964126ae65f4b6d38d2030b73 写到config.toml的ba_track_id中,即可。
模版中已经吧以上scipt写到themes/hugo-theme-cleanwhite/layouts/partials/footer.html中。 因此,所有页面加载时,都会附加以上脚本。
-
图床实际上没有必要使用,用filezilla更为方便。 本地目录直接上传目标/home/gavin/myweb/static/img即可。 文章中直接引用!img,相当高效。
-
文章的管理也一样,filezilla扔到/home/gavin/myweb/content/post下即可。
-
如需修改webserver中myweb下的其他文件,在本地修改完,git push上去即可。 gitee上的webhook会触发推送到webserver上。great!!!✅
增加http://v6.51.la统计
18042004300/Ga^^^^23
<script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script>
<script>LA.init({id:"3LTQf5zyPQGoGAJu",ck:"3LTQf5zyPQGoGAJu"})</script>
写入:themes/hugo-theme-cleanwhite/layouts/partials/footer.html
20240311
制作icon
sips -z 128 128 IMG_1350.png --out favicon.png
icotool -c favicon.png -o favicon.ico
20240408
其实不用hook那么复杂
在本地(rungit.sh): git add . git commit -m “gavin’s website” git push origin master #增加以下远程执行就串起来了 ssh -p 21174 gavin@biboer.cn ‘cd myweb && git pull origin master’
租用服务器出问题,系统通过控制台重装后,web恢复过程
初始化,root进入
创建gavin,用户组wheel(可以sudo)
sudo useradd -m -G wheel gavin
设置或更改用户的密码
sudo passwd gavin
Sudo cd /etc/yum.repos.d
Sudo wget https://copr.fedorainfracloud.org/coprs/daftaupe/hugo/repo/epel-7/daftaupe-hugo-epel-7.repo -O hugo.repo
Sudo yum update
Sudo yum install hugo
hugo version
Sudo yum install git
git clone https://gitee.com/douboer/mewed.git
sudo yum install npm
Sudo npm -g install atomic-algolia
npm init
20240411
MAC上,把notebook并入到myweb中来维护,不单独维护github上的notebook。 这样日常笔记和web网站的维护一体化。不用搬来搬去了。
20240420
让git仓库、发布目录和本地obsidian笔记本三者保持一致,这样本地vi编辑md文件后,一键git push到远程仓库后。
- 触发远程pull,完成发布
- 本地可以使用obsidian浏览和编辑
发布环节很好,但obsidian看有个问题,就是图片链接问题。 图片在hugo中用!picname格式。 图片在obsidian中用以下格式之一:
这让如果在web上正常显示,obsidian中就无法显示,怎么解❓ solved
花了半天时间,搞定: 文章在themes/hugo-theme-cleanwhite/layouts/_default/single.html中渲染,思路就是改这个文件。 把所有!【【name】】转成<img src="/img/name" alt=“name”>,这样obsidian可以无缝对接。
{{ $pattern := `!【【(.*?)】】` }}
{{ $replace := `<img src="/img/$1" alt="$1">` }}
{{ $content := .Content | replaceRE $pattern $replace }}
{{ $content | safeHTML }}
<!-- {{ .Content }} -->
‼️‼️ 注意:
- 必须用{{ $content | safeHTML }},用{{ $content }}渲染有问题。
- {{ $replace := `` }} 替换{{ $replace := `<img src="/img/$1" alt="$1">` }}不生效,不知原因❓
原来使用的的!imgname 在vim中替换:
:%s/)/!【【\1]]/g
附:obsidian设置
❓ 进一步:obsidian中支持拷贝到特定文件夹 solved
markdown中html如要以文本形式显示,用\转义。
20240420
🚩 todo:
- 同样方式,在single中可以增加相册的解析,解决目前gallary排版在手机终端和pc终端不同的表现(两张一排或三张一排导致其中一类终端必定不整齐。)
@media only screen and (min-width : 365px) {
/* Tablet view: 3 tiles */
.gallery .box {
width: 33.3%;
padding-bottom: 33.3%;
}
}
themes/hugo-theme-cleanwhite/static/css/hugo-easy-gallery.css 50%改为33.3%,解决!
-
渲染 >
-
代码块长行无法折行问题? config.toml中配置: wrap = true
无效。
修改themes/hugo-theme-cleanwhite/static/css/hugo-theme-cleanwhite.css
pre code{
display:block;
width:auto;
white-space:pre-wrap; 原来为:pre
word-wrap:normal
}
原来为:white-space:pre;
20240428
通过钩子方式实现把markdown中所有转成<img src="/img/name" alt=“name”>。
发现,
./themes/hugo-theme-cleanwhite/layouts/_default/_markup/render-image.html
只对图片链接起作用。
./themes/hugo-theme-cleanwhite/layouts/_default/_markup/render-link.html
只对链接起作用。
怎么解决❓有没有针对content内容的钩子?
似乎没有。
是不是可以在markdwon渲染时做定制❓ solved
20240420
扩展了段落前加||,替代<p style="font-family:'Microsoft YaHei',sans-serif;background-color:#BCC6CC ;padding:20px;border-radius:20px;line-height:35px;">段落内容</p>
用于题记等。
./themes/hugo-theme-cleanwhite/layouts/_default/single.html
:
{{ $patterns := dict `
` `<img src="/img/$1" alt="$1">` `\|\|(.*)` `<p style="font-family:'Microsoft YaHei',sans-serif;background-color:#E5E4E2 ;padding:20px;border-radius:20px;line-height:35px;">$1</p>` }}
{{ range $old, $new := $patterns }}
{{ $content = replaceRE $old $new $content }}
{{ end }}
20240517
- hugo与微信公众号结合,发布markdown文章,同时发布一份到公众号中❓
- 通过接口方式发布或修改一篇文章,如果公众号中相同标题的文章已经存在就更新内容,如果不存在就发布为新文章。
- 文章的标题取更新的markdown内容中的title作为公众号的标题,markdown的文件名为链接中的filename,把"http://biboer.cn/post/filename/“内容采集到公众号。
- 采集后美化文章再发布到公众号。
- 在个人网站上内嵌AI,实现智能采编❓
20240521
用obsidian的livesync插件,把资源同步到云上,在所有终端可以使用obsidian同步编辑和发布。
- 在biboer.cn这台服务器上安装couchdb(LiveSync使用的数据库),参考这个
目录:/opt/couchdb https://biboer.cn:6984 注意:⚠️ http端口是5984,https是6984
- 下载配置LiveSync插件
20240521 - 2
hugo server 改 nginx❓(原因是"hugo server"对https证书的支持没有搞定。)
- yum nginx
- 配置注意:
- 权限问题,配置中user nginx 改为 user root;
- site文件指定为: /home/gavin/myweb/public
- hugorun.sh注释掉:#echo $pass | sudo -S hugo server –bind 24.233.3.126 -p 80 –baseURL=http://biboer.cn &
- hugorun.sh,用普通用户发布到public文件 #echo $pass | sudo -S hugo && npm run algolia 改为 hugo && npm run algolia
20240820
- 购买ssl证书,提供给商家域名,商家提供主机名、记录类型、记录值。
- 配置域名解析,完成后告诉商家。
- 商家提供SSL证书(发送到邮箱)。
- 证书放到web home下:
[gavin@kvm-douboer cert]$ pwd
/home/gavin/myweb/cert
[gavin@kvm-douboer cert]$ ls nginx/
biboer.cn.crt biboer.cn.key
- 配置/etc/nginx/nginx.conf
46 ssl on;
47 ssl_certificate /home/gavin/myweb/cert/nginx/biboer.cn.crt;
48 ssl_certificate_key /home/gavin/myweb/cert/nginx/biboer.cn.key;
- 验证&启动nginx
sudo nginx -t
sudo nginx -s reload
sudo systemctl start nginx
20240911
专门处理markdown的label,让页面更加丰富,输出到public
20241023
重启后如何自动检测并启动相关服务。
- ssh免密登录
- 挂载/data
- 启动nginx
- 启动gitea
20250210
在push时在脚本check_services.sh中,自动检查/data是否已挂载、nginx和gitea是否已启动。
20241115
ssh免密登录
问题:
gavin@GavinsMAC myweb % ~/tomyweb.sh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:+a7CGzybNE9gRxwbGRIOUTOangbC+PXfnL76X0Su1ho.
Please contact your system administrator.
Add correct host key in /Users/gavin/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/gavin/.ssh/known_hosts:2
Host key for [biboer.cn]:21174 has changed and you have requested strict checking.
Host key verification failed.
SOLVED: mac本地
rm ~/.ssh/known_hosts
远程配置centos,SSH配置:确保远程服务器的 /etc/ssh/sshd_config 文件中,以下配置启用了公钥认证:
PubkeyAuthentication yes
PasswordAuthentication no # 可选,禁用密码登录
sudo systemctl restart sshd # 配置完成后,重启SSH服务
samba/smb 共享
sudo yum install samba sudo useradd samba sudo vi /etc/samba/smb.conf
39 [rootdir] #自定义的共享文件夹
40 comment = SambaRoot
41 path = /home/samba/
42 read only = No
// 添加 Samba 用户帐号
sudo smbpasswd -a gavin
sudo systemctl start smb
未调通❓❓❓
Q & A
-
git server上以明文形式保存目录吗? A: 加密
-
ssh免密登录,无效❓
- 本地mac操作:
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 21174 gavin@biboer.cn
- 远程配置centos: SSH配置:确保远程服务器的 /etc/ssh/sshd_config 文件中,以下配置启用了公钥认证:
PubkeyAuthentication yes
PasswordAuthentication no # 可选,禁用密码登录
sudo systemctl restart sshd # 配置完成后,重启SSH服务
-
hugo命令发布到public以后,部署❓
-
远程拉取文件,scp出错❓ scp gavin@biboer.cn:/tmp/config* . A: 通配符问题,在zshrc中加配置。
echo "setopt nonomatch" >> ~/.zshrc
source ~/.zshrc
- git submodule add https://github.com/TransparentLC/hexo-theme-akarin.git themes/hexo-theme-akarin 出错:’themes/hexo-theme-akarin’ already exists in the index A:
git rm -r --cached themes/hexo-theme-akarin
- [gavin@kvm-douboer ~/myweb]$ sudo npm run algolia
> myweb@1.0.0 algolia /home/gavin/myweb
> atomic-algolia
(node:62111) UnhandledPromiseRejectionWarning: AlgoliaSearchNetworkError: connect ECONNREFUSED 127.0.0.1:443
at ClientRequest.error (/home/gavin/myweb/node_modules/algoliasearch/src/server/builds/node.js:233:14)
at Object.onceWrapper (events.js:286:20)
at ClientRequest.emit (events.js:198:13)
at TLSSocket.socketErrorListener (_http_client.js:401:9)
at TLSSocket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:62111) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:62111) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[gavin@kvm-douboer ~/myweb]$ sudo npm run algolia
❗️Solve:
> cat .env
ALGOLIA_APP_ID = 67T0HBIEFP
ALGOLIA_ADMIN_KEY = e712ba7148f242911a6f33da81e02a7f
ALGOLIA_INDEX_NAME = gavin
ALGOLIA_INDEX_FILE = public/algolia.json
- 评论系统
- Hugo 的 LoveIt 主题添加 Giscus 评论 注意:config.toml配置格式,下划线
- https://giscus.app/zh-CN
- disqus https://disqus.com/home/settings/account/
- 私有化部署twikoo
- 查找docker包 [gavin@kvm-douboer ~]$ docker search twikoo
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/imaegoo/twikoo Twikoo 私有部署 Docker 镜像。 6
docker.io docker.io/llnancy/twikoo 0
docker.io docker.io/lzc256/twikoo 0
docker.io docker.io/colsrch/twikoo 0
docker.io docker.io/dijkeuorg/twikoo-arm64 0
- 拉到本地
sudo docker pull docker.io/imaegoo/twikoo
- 启动服务
docker run -d -p 8081:8080 twikoo
# docker run -p 8084:8080 -v ${PWD}/data:/app/data -d docker.io/imaegoo/twikoo
如端口被占用,可用如下命令查看占用端口,和PID,如应用不需要,可kill该PID
netstat -lnpt
- 浏览器输入:http://biboer.cn:8081,返回
{"code":100,"message":"Twikoo 浜戝嚱鏁拌繍琛屾甯革紝璇峰弬鑰� https://twikoo.js.org/frontend.html 瀹屾垚鍓嶇鐨勯厤缃�","version":"1.6.31"}
- 在config.toml中增加:
twikoo_env_id = "http://biboer.cn:8081"
完成以上后,可以评论。但上传图片显示:"上传失败:未配置图片上传服务”❓
-
代码块渲染修改❓
20240521
很久的问题❗️clash代理下,访问biboer速度慢的问题。
使用clash代理,在“规则判断”下模式下,在rules中增加:
- ‘DOMAIN-KEYWORD,biboer,DIRECT’
但访问biboer.cn加载极慢❓
跟踪网页耗时,加载时在cdn1.lncld.net访问时阻塞时间长。hugo使用位置:
themes/hugo-theme-cleanwhite/layouts/partials/page_view_counter.html:
<script src="https://cdn1.lncld.net/static/js/av-core-mini-0.6.1.js"></script>
themes/hugo-theme-cleanwhite/layouts/_default/single.html:
{{ partial "page_view_counter.html" . }}
在配置文件中增加:
- ‘DOMAIN-SUFFIX,cdn1.lncld.net,DIRECT’ 问题解决。solverd 🍎
20240526
gitee容量超限,大于1GB,无法上传❓在biboer.cn上搭建git server 搭建gitea。
http://biboer.cn:3000/gavin/mywed
20240718:
su git
[git@kvm-douboer myweb]$ /data/gitea/gitea admin user list
ID Username Email IsActive IsAdmin 2FA
1 gavin douboer@icloud.com true true false
20240705
挂载新盘/挂载/data:
sudo fdisk -l
sudo mount /dev/vdb /data
cd /data/
启动gitea:
sudo systemctl enable gitea #激活gitea 并将它作为系统自启动服务
sudo systemctl start gitea # 启动gitea
信息
https://www.5678yun.com/user/domain/ 域名:biboer.cn mGa。。。23
http://www.idc35.com/user/register2.asp IP:24.233.3.126 端口:21174 用户名:root/mGa..23
scp -P 21174 id_rsa.pub gavin@24.233.3.126
端口已修改为22
其他
- 开源图床
- 开源文件上传服务
参考网站
主题模版
hugo模版及主题,部署过程中,在原作者基础上做了一些修改记录。
It is based on huxblog Jekyll Theme
and Clean Blog Jekyll Theme.
These two upstream projects have done awesome jobs to create a blog theme, what I’m doing here is porting it to Hugo, of which I like the simplicity and the much faster compiling speed. Some other features which I think could be useful, such as site search with algolia and proxy for Disqus access in China, have also been built in the CleanWhite theme. Other fancy features of upstream projects are not supported by this Hugo theme, I’d like to make it as simple as possible and only focus on blog purpose, at least for now.
While I created this theme, I followed the Hugo theme best practice and tried to make every part of the template as a replaceable partial html, so it could be much easier for you to make your customization based on it.
Screenshots
Quick Start
Go to the directory where you have your Hugo site and run:
$ mkdir themes
$ cd themes
$ git clone https://github.com/zhaohuabing/hugo-theme-cleanwhite.git
If your site is already a git project, you may want to choose to add the cleanwhite theme as a submodule to avoid messing up your existing git repository.
$ mkdir themes
$ git submodule add https://github.com/zhaohuabing/hugo-theme-cleanwhite.git themes/hugo-theme-cleanwhite
Run Hugo Build-in Server Locally
$ hugo serve -t hugo-theme-cleanwhite
Now enter localhost:1313
in the address bar of your browser.
If you start from scratch, there is a working Hugo site configured with the CleanWhite theme in the exampleSite directory. You can use it as a starting point for your site.
For more information read the official setup guide of Hugo
Configuration
First, let’s take a look at the config.toml. It will be useful to learn how to customize your site. Feel free to play around with the settings.
Comments
The optional comments system is powered by Disqus. If you want to enable comments, create an account in Disqus and write down your shortname.
disqusShortname = "your-disqus-short-name"
You can disable the comments system by leaving the disqusShortname
empty.
Disqus in China
Disqus is inaccessible in China. To get it to work, we can set up a proxy with disqus-php-api in a host which sets between the client browser and the Disqus server. The idea is that if Disqus can be reached in the guest network, the blog page will show the original Disqus comments UI, otherwise, it will downgrade and use the proxy to access the Disqus, the UI will be a little different, but the visitors can still write their comments on the page.
The client side java script has already been integrated to CleanWhite them, but you need to set up a proxy server yourself.
The proxy is written in php, which can be found here: https://github.com/zhaohuabing/disqus-php-api/tree/master/api
You need to specify your Disqus account information in the config.php.
define('PUBLIC_KEY', '');
define('SECRET_KEY', '');
define('DISQUS_USERNAME', '');
define('DISQUS_EMAIL', '');
define('DISQUS_PASSWORD', '');
define('DISQUS_WEBSITE', '');
define('DISQUS_SHORTNAME', '');
Set the proxy server address in the site config file of your Hugo project.
disqus_proxy = "http://yourdisqusproxy.com"
Site Search with Algolia
Follow this tutorial to create your index in Algolia. The index is just the storage of the indexing data of your site in the the cloud . The search page of CleanWhite theme will utilize this indexing data to do the search.
Go to the directory where you have your Hugo site and run the following commands:
$ npm init
$ npm install atomic-algolia --save
Next, open up the newly created package.json, where we’ll add an NPM script to update your index at Algolia. Find “scripts”, and add the following:
"algolia": "atomic-algolia"
Algolia index output format has already been supported by the CleanWhite theme, so you can just build your site, then you’ll find a file called algolia.json in the root, which we can use to update your index in Algolia.
Generate index file:( ⚠️ 发布到public目录下。hugo本身可以作为web server,这时候不需要用运行hugo发布。)
$ hugo
Create a new file in the root of your Hugo project called .env, and add the following contents:
ALGOLIA_APP_ID={{ YOUR_APP_ID }}
ALGOLIA_ADMIN_KEY={{ YOUR_ADMIN_KEY }}
ALGOLIA_INDEX_NAME={{ YOUR_INDEX_NAME }}
ALGOLIA_INDEX_FILE={{ PATH/TO/algolia.json }}
==> ❗️以上出错,“{{”会被当成内容读入,可选择用双引号,或不用
ALGOLIA_APP_ID = YOUR_APP_ID
ALGOLIA_ADMIN_KEY = YOUR_ADMIN_KEY
ALGOLIA_INDEX_NAME = YOUR_INDEX_NAME
ALGOLIA_INDEX_FILE = PATH/TO/algolia.json
我的配置:
[gavin@kvm-douboer ~/myweb]$ cat .env
ALGOLIA_APP_ID = 67T0HBIEFP
ALGOLIA_ADMIN_KEY = e712ba7148f242911a6f33da81e02a7f
ALGOLIA_INDEX_NAME = gavin
ALGOLIA_INDEX_FILE = public/algolia.json
Now you can push your index to Algolia by simply running:
$ npm run algolia
Add the following variables to your hugo site config so the search page can get access to algolia index data in the cloud:
algolia_search = true
algolia_appId = YOUR_APP_ID
algolia_indexName = YOUR_INDEX_NAME
algolia_apiKey = YOUR_SEARCH_ONLY_KEY
Open search page in your browser: http://localhost:1313/search
Analytics
You can optionally enable Google or Baidu Analytics. Type your tracking code in the
googleAnalytics = "G-XXXXX"
ba_track_id = "XXXXXXXXXXXXXXXX"
Leave the googleAnalytics
or ‘ba_track_id ’ key empty to disable it.
Wechat Pay & Alipay Rewards
You can enable Wechat Pay & Alipay to allow readers send you money. So if they like your articles, you may even get rewards from your writing. Now you must be motivated to write more.
- Enable Wechat Pay & Alipay in the site config
reward = true
- Replace the QR codes of Wechat Pay & Alipay by overriding the photos in folder /static/img/reward/, otherwise the money will be sent to my accounts!
Thank
- Thanks for the great jobs of huxblog Jekyll Theme and Clean Blog Jekyll Theme which are the the two upstream projects CleanWhite Hugo theme is based on.
- CleanWhite is a clean, elegant, but fully functional blog theme for Hugo. Here is a live demo site using this theme.
Feedback
If you find any problems, please feel free to raise an issue or create a pull request to fix it.
If it’s helpful for you, I would appreciate it if you could star this repository, thanks!