继续折腾:WriteFreely页面调整

前言
仔细读了下官网上面的指南,里面还是有些重要的说明。
另外,通过修改CSS设置字体、颜色等内容,把家徒四壁的界面“刷了个油漆”。
最后,历尽千辛万苦,终于把SSL证书搞定了。

文章写作须知

文章折叠的方法,加入标记 <!--more-->

RSS
WriteFreely自动生成RSS,形式为“域名+/feed/”
例如,http://canglang.me/feed/
对于标签hashtags也有对应的RSS,形式为“域名+/tag:标签+/feed/”
比如, blog.writefreely.org/tag:writefreely/feed/

加标签
文章中,可以通过’#’号的形式,增加标签,比如
系统会自动生成并链接同一标签文章的聚合页面。

提醒功能
可以通过 @canglang 在文章中提醒ActivityPub平台中的用户。

静态页面
通过PIN将文章设置静态页(比如About me)。

优化页面

通过Customize页内的Custom CSS加入。
字体部分,采用这篇文章推荐的方案

font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;

字号部分,参考这篇文章,设置为30,26,20,18,16,14

配色方面,参考https://flatuicolors.com/palette/cn

整体来说,弄得还是比较业余,很多地方弄不明白为什么无效,抛砖引玉吧。
另外,在Custom CSS中可以加入Javascript语句,多用户版没有试过,不知道会不会有风险。

/* Entire page background */
body {
    background-color: #f1f2f6;
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}
body p {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    font-size: 14px;
    line-height: 2em;
    color: #747d8c;
}
body h1 {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    font-size: 26px;
    line-height: 2em;
    color: #57606f;
}
body h2 {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    font-size: 20px;
    line-height: 2em;
    color: #57606f;
}

body h3 {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    font-size: 18px;
    line-height: 2em;
    color: #57606f;
}

/* Blog header on index and post pages */
#blog-title a {
    color: #57606f;
}
#blog-title a:hover {
    color: #a4b0be;
}
/*访问过的链接*/
#blog-title a:visited {
    color: #57606f;
}

/* Post titles on blog index */
.post-title {
    color: #57606f;
    font-size: 20px;
}
.post-title a.u-url:link, .post-title a.u-url:visited .post-title a.u-url:hover {
    color: #57606f;
    text-decoration: none;
}

/* "Read more..." links */
a{
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}
#read-more a:hover{
    color: #57606f;
    text-decoration: none;
}
#read-more a:visited{
    color: #747d8c;
}

/* Links inside blog posts */
article p a {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    color:#5352ed;
    text-decoration: none;
}
article p a:hover {
    color: #70a1ff;
    text-decoration: none;
}
article p a:visited {
    color:#5352ed;
    text-decoration: none;
}
article code {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}
time {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    font-size: 14px;
    line-height: 1.5em;
    color: #747d8c;
}

后记

野生选手,CSS改起来真的是糊里糊涂。
最坑的是给站点加SSL,certbot加完就出现“重定向次数过多”,怎么都搞不定。最终,收到到cloadflare生成免费证书,再收到添加到nginx上面,终于……

4

折腾记: WriteFreely 搭建

前言
买了空间之后,已经先后使用过wordpress和Halo,这次又耐不住寂寞,使用#WriteFreely 建立这个博客,主要参考 Salt《去中心化博客 WriteFreely 搭建指南
不同之处,建立的是单用户版本,数据库使用SQLite。


环境

CentOS 7
磁盘空间20G
内存1G
writefreely_0.12.0_linux_amd64.tar.gz

安装WriteFreely

下载到主机

wget https://github.com/writeas/writefreely/releases/download/v0.12.0/writefreely_0.12.0_linux_amd64.tar.gz

解压到/home目录下,解压的位置如果修改,后面配置过程中需要一并调整

tar xvzf writefreely_0.12.0_linux_amd64.tar.gz -C /home

安装Ngnix

添加 Nginx 源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 Nginx
sudo yum install -y nginx
启动 Nginx
sudo systemctl start nginx.service
设置开机自启 Nginx
sudo systemctl enable nginx.service

配置WriteFreely

在解压后文件在/home/writefreely下,进入该目录,执行命令进行配置
./writefreely --config

Server setup

选择Production, behind reverse proxy模式,后面需要安装Nginx;
Local port: 8080 这个端口后面配置Nginx需要用到;

Database setup

数据库选择SQLite
Filename: xxx.db 数据库名字建议改一下

App setup

选择 Single user blog 即单用户版本
Admin usename: 用户名
Admin password: 密码
Blog name: 博客名词
Public URL: http://canglang.me 你的域名写在这里
federation 是否通过ActivityPub接入联邦宇宙,接入的话选择Enabled
stats 是否通过NodeInfo公开展示用户情况,不公开选择Private
meta 没弄明白,选择了Public

初始化

./writefreely --init-db
./writefreely --gen-keys

配置服务

sudo nano /etc/systemd/system/writefreely.service

写入内容

[Unit]
Description=Write Freely Instance
After=syslog.target network.target

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=/home/writefreely
ExecStart=/home/writefreely/writefreely
Restart=always

[Install]
WantedBy=multi-user.target

其中,WorkingDirectory和ExecStart需要根据实际解压的位置进行修改

设置开机启动

systemctl daemon-reload #执行需要root授权
sudo systemctl start writefreely
sudo systemctl enable writefreely

配置Nginx

sudo nano /etc/nginx/conf.d/writefreely.conf

写入内容

server {
    listen 80;
    listen [::]:80;

    server_name canglang.me;

    gzip on;
    gzip_types
      application/javascript
      application/x-javascript
      application/json
      application/rss+xml
      application/xml
      image/svg+xml
      image/x-icon
      application/vnd.ms-fontobject
      application/font-sfnt
      text/css
      text/plain;
    gzip_min_length 256;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_vary on;

    location ~ ^/.well-known/(webfinger|nodeinfo|host-meta) {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
    }

    location ~ ^/(css|img|js|fonts)/ {
        root /home/writefreely/static;
        # Optionally cache these files in the browser:
        # expires 12M;
    }

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
    }
}

其中 server_name和root /home/writefreely/static需要根据实际进行修改。

然后,配置 SSL 证书,就不写了,攻略很多,自行搜索吧。

检查配置是否有误
sudo nginx -t

重载 Nginx 配置
sudo nginx -s reload


至此配置完成,如果一切顺利,打开域名就能见到主页了。
现在又改回wordpress(捂脸

1