【5分钟玩转Lighthouse】打造沉浸式Markdown写作环境

2022-09-15 19:27:40 浏览数 (1)

1.背景概述

在使用Markdown写文章插入图片后,由于使用的是本地电脑的图片,此时文档一旦发送到其他人或者其他电脑,那么图片的链接就失效了,导致Markdown文章中的图片无法显示。为了解决这个问题,图片的地址就要是网络上的链接地址,而不能是本地电脑的链接地址。如果我们将图片存储到图床服务器中,那么我们既能在Markdown中使用图片的网络链接地址,又能在管理图片,后面写其他文章时还可以复用图片的链接。

本文就来介绍一下,在腾讯云轻量应用服务器上使用chevereto搭建个人图床,同时利用PicGo和Typora自动在Markdown中将本地图片上传到图床中,以此来并解决Markdown文章在更换电脑后,图片地址失效的问题。最终我们打造一个沉浸式Markdown写作环境,专注于写作。

2.环境准备

为了打造沉浸式的Markdown写作环境,我们需要准备如下环境和软件。

腾讯云轻量应用服务器:使用Docker应用镜像并安装docker-compose

Chevereto:自建图床程序,使用docker-compose来安装。

PicGo:图床管理工具,安装chevereto插件。

Typora:Markdown编辑器

3.准备轻量应用服务器

3.1.购买轻量应用服务器

首先在腾讯云Lighthouse轻量应用服务器购买页面,购买一台服务器,选择Docker镜像,这样我们只需安装docker-compose。

3.2.安装docker-compose

1.下载最新版Docker Compose

代码语言:javascript复制
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.为docker-compose文件添加可执行属性,并增加软连接

代码语言:javascript复制
sudo chmod  x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3.查看docker-compose版本

代码语言:javascript复制
docker-compose -v

4.搭建chevereto图床

接下来我们在轻量应用服务器上搭建chevereto图床。

4.1.安装启动chevereto图床

1.创建chevereto相关目录

代码语言:javascript复制
mkdir -p /data/chevereto
mkdir -p /data/chevereto/database
mkdir -p /data/chevereto/chevereto_images 
mkdir -p /data/chevereto/conf
# 修改相关目录属性,防止chevereto启动时无法写入
chmod 777 /data/chevereto/database
chmod 777 /data/chevereto/chevereto_images 
chmod 777 /data/chevereto/conf
cd /data/chevereto

2.创建docker-compose.yaml文件

在/data/chevereto目录中创建docker-compose.yaml文件,内容如下:

代码语言:javascript复制
version: '3'

services:
  db:
    image: mariadb
    volumes:
      - ./database:/var/lib/mysql:rw
    restart: always
    networks:
      - private
    environment:
      MYSQL_ROOT_PASSWORD: chevereto_root
      MYSQL_DATABASE: chevereto
      MYSQL_USER: chevereto
      MYSQL_PASSWORD: chevereto

  chevereto:
    depends_on:
      - db
    image: nmtan/chevereto
    restart: always
    networks:
      - private
    environment:
      CHEVERETO_DB_HOST: db
      CHEVERETO_DB_USERNAME: chevereto
      CHEVERETO_DB_PASSWORD: chevereto
      CHEVERETO_DB_NAME: chevereto
      CHEVERETO_DB_PREFIX: chv_
    volumes:
      - ./chevereto_images:/var/www/html/images:rw
      - ./conf/php.ini:/usr/local/etc/php/conf.d/php.ini
    ports:
      - 80:80

networks:
  private:

3.创建php配置文件

在/data/chevereto/conf目录中创建php.ini配置文件, 配置最大使用内存和最大上传的图片大小等属性。内容如下:

代码语言:javascript复制
max_execution_time = 60;
memory_limit = 1024M;
upload_max_filesize = 256M;
post_max_size = 256M;

4.启动chevereto

代码语言:javascript复制
docker-compose up -d

4.2.配置chevereto

在浏览器里访问轻量应用服务器的IP,会打开chevereto首次安装后的配置页面,输入相关信息后,点击”Install Chevereto”按钮。

出现下图就表示已经安装成功了,然后点击“admin dashboard”进入管理页面。

登录以后我们要获取chevereto的API key

在Dashboard->Settings->Website->API

这里我们要获取API v1 key,用来在PicGo中配置chevereto插件,使得PicGo能够直接将图片上传到chevereto中。下文在PicGo的配置过程中会详细介绍。

5.安装配置PicGo

5.1.安装PicGo

PicGo是一款将图片上传到图床的图床管理工具。我们根据操作系统下载稳定版即可,这里下载的是v2.2.2 Windows版本的二进制文件。下载地址,下载完毕后双击PicGo-Setup-2.2.2.exe文件安装即可。

5.2.安装chevereto插件

打开PicGo后,在插件设置中搜索chevereto,安装即可。

5.3.配置chevereto uploader设置

这里我们要配置chevereto上传的Url(url为http://ip/api/1/upload)和之前在chevereto Dashboard中获取到的API v1 key。这样PicGo就可以自动将图片上传到chevereto了。

5.4.配置PicGo开启时间戳重命名

在PicGo设置中开启时间戳重命名,防止多次上传相同文件报错。同时我们取消其它不使用的图床,只显示Chevereto Uploader。

5.5.配置PicGo-Server监听端口

这里我们将监听端口设置为36677,防止Typora上传图片时失败。因为Typora中使用了此端口号。

5.6.上传文件

配置好之后,我们直接将图片拖入到PicGo的上传区。

接下来我们到chevereto的页面上可以查看刚才上传的图片。如下图所示,表明PicGo已经将图片上传成功了。

6.安装配置Typora

6.1.安装Typora

根据操作系统从Typora官网下载相应的安装包,这里我们下载windows的安装包。文件下载完成后,双击安装即可。

6.2.配置图像上传

在Typora文件->偏好设置->图像中,我们进行配置。

插入图片时,选择 “上传图片”

上传服务设定,选择“PicGo(app)”

PicGo路径,设为PicGo软件的安装路径

7.开始沉浸式写作吧!

经过前面的配置,我们已经搭建好这一整套Markdown环境,那我们马上来体验一下吧!

打开Typora,我们写一篇文章,向其中插入图片,我们会发现图片地址已经自动被替换为chevereto图床上的网络地址了。这样当我们将Markdown文档发送给其他人或者在其他电脑中打开时,我们的图片就再也不会显示失败了。

8.参考资料

1.腾讯云轻量应用服务器:https://cloud.tencent.com/product/lighthouse

2.docker compose 安装:https://docs.docker.com/compose/install/

3.chevereto官网:https://chevereto.com/

4.chevereto dockerhub:https://hub.docker.com/r/nmtan/chevereto/

5.PicGo官网:https://molunerfinn.com/PicGo/

6.Typora官网:https://typora.io/

0 人点赞