纯手机端搭建静态博客

主要是记录自己折腾的过程,踩过的一些坑。

  • 准备工作:

APP:termux``chrome``solid Explorer
chrome不是必须,但是不会英语的话翻译功能就很有作用
solid Explorer是一个文件管理器支持sftp,用来管理termux内部文件,对于无root的手机用termux管理文件我这种不是码农的人来说太费时间。有root的手机可以使用任意文件管理器替代。

网络环境:最好能科学上网,提升termux安装效率,访问github的速度

正文

  • 第一步肯定是打开termux。第一次使用的话参考termux简单配置

  • 输入
    pkg install hugo
    安装hugo框架。如果出现yes/no通通yes,毕竟万物皆可yes

  • 安装以后输入
    hugo new site mysite

到这里框架就已经搞定了,接下来就是配置。

  • 先安装主题
cd mysite
git init
git submodule add https://github.com/Mogeko/mogege themes/mogege

上面的命令意思是定位到mysite文件夹,git初始化,下载主题到themes,主题的名mogege。

  • 接下来编辑config.toml,主题内有模板,我们复制简单修改就行
cp -f ~/mysite/themes/mogege/exampleSite/config.toml .

复制config.toml到当前路径

路径后面有个空格和一个点,复制到当前路径的意思。~这个符号代表home路径也就是/data/data/com.termux/files/home/

上面复制操作可以用solid Explorer代替,更直观,更简易。当然得先开启sftp服务

pkg install openssh
sshd

设置root密码

passwd root

提示输入新密码,输入是看不见的,就是没有光标,但是输入还是有效的,密码输入两次,输入一次按回车再输一次就可以了,简单的就好我设置密码为1
开启服务,输入
sshd

在solid Explorer存储设备管理器里添加sftp,主机名127.0.0.1,端口8022,用户名root,密码就是你设置的密码。之后的复制粘贴跟常规文件管理器是一样的

config.toml里参数都有注释,应该都看得到,按自己的配置去改就行了。

这里给一个便捷操作,hugo博文是存储在mysite/content/posts下的,编辑软件是无法直接读取的,终端下vim编辑又不好操作,所以我们可以创建软连接,连接posts文件夹到手机存储跟目录,这样编辑软件就可以直接读取,大大减少了操作繁琐浪费的时间。
示例:
我用的是MarKor(一个markdown编辑器)
默认读取的是手机目录里默认的文档文件夹/storage/emulated/0/Documents

(termux是不能读取根目录的,所以termux需要获取存储权限 ,这样termux就会在home目录下创建根目录的软连接)这步不知道是不是必须

pkg install termux-tools
termux-setup-storage

接着关联posts和Documents文件夹

ln -s /storage/emulated/0/Documents ~/mysite/content/posts

以后写博文就不需要复制了,存储在Documents就等于存在posts里

启动本地预览

hugo server -t mogege -D

浏览器输入http://localhost:1313
不出意外就能看到博客主页了
到这里hugo框架就搞定了

部署博客到github

  • 注册账号 这个就不说了,看不懂英文可以用chrom浏览器

  • 下面的操作我就用chrome做演示,设置里开启翻译就可以了

  • 新建仓库

  1. 第一步
    第一步
  2. 第二步 第二步
  3. 第三步
    这里注意一下仓库名称必须是你的用户名.github.io选项跟图上一样就行 第三步
  • 创建仓库以后我们就来配置ssh密钥
cd
ssh-keygen -t rsa -C "你的邮箱"

一路回车

  • 复制密钥
cat ~/.ssh/id_rsa.pub
  • github添加密钥

点击这里创建密钥

新的密钥 新的密钥

确定创建

创建密钥

  • git配置
    在termux中输入
git config --global user.name "你的名字"
git config --global user.email "邮箱地址"
  • 关联git仓库
git clone https://github.com/你的用户名/你的用户名.github.io.git

执行之后会在当前目录生成你的用户名.github.io的文件夹,这是关联github仓库的文件夹,需要上传的文件都要移动到这里

  • 生成静态博客并上传github
    上面说过hugo server -t mogege -D这是本地预览,如果满意以后就可以生成静态文件了
cd mysite
hugo

注意:本地预览和生成静态文件的命令必须在mysite下执行
执行以后生成的静态文件存储在mysite目录下的public文件夹内。 复制public下所以文件到你的用户名.github.io文件夹内

cp -f -r ~/mysite/public/* ~/你的用户名.github.io

上传github

git add -A ;git commit -am 'First Commit' ; git push​

上传完毕就可以通过你的用户名.github.io访问你的博客了