百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

印象笔记图片失效问题怎么破?用腾讯云Lighthouse 5分钟轻松解决

bigegpt 2024-08-06 11:59 8 浏览

Markdown,也就是印象笔记,在国内拥有大批的用户。Markdown拥有独立的一键新建入口,能让你双手不离键盘直接写出你想要的文字和排版,可以为用户提供了超高效的沉浸式写作体验。但也有人发现用Markdown写文章插入图片后,由于使用的是本地电脑的图片,此时文档一旦发送到其他人或者其他电脑,那么图片的链接就失效了,导致Markdown文章中的图片无法显示。

这样的问题,在工作中,非常不利于移动办公的模式,如果我们将图片存储到服务器上,达到随取随用的效果,将是一件对沉浸写作很有意义的事情。

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

环境准备

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

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

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

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

Typora:Markdown编辑器

准备轻量应用服务器

1.购买轻量应用服务器

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

2.安装docker-compose

1.下载最新版Docker Compose

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文件添加可执行属性,并增加软连接

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

复制

3.查看docker-compose版本

docker-compose -v

复制

搭建chevereto图床

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

1.安装启动chevereto图床

1.创建chevereto相关目录

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文件,内容如下:

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配置文件, 配置最大使用内存和最大上传的图片大小等属性。内容如下:

max_execution_time = 60;

memory_limit = 1024M;

upload_max_filesize = 256M;

post_max_size = 256M;

复制

4.启动chevereto

docker-compose up -d

复制

2.配置chevereto

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

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

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

在Dashboard->Settings->Website->API

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

安装配置PicGo

1.安装PicGo

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

2.安装chevereto插件

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

3.配置chevereto uploader设置

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

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

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

5.配置PicGo-Server监听端口

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

6.上传文件

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

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

安装配置Typora

1.安装Typora

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

配置图像上传

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

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

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

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

写在最后

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

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

本文参考来源:风之泪

相关推荐

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上...

Redis数据库从入门到精通(redis数据库设计)

目录一、常见的非关系型数据库NOSQL分类二、了解Redis三、Redis的单节点安装教程四、Redis的常用命令1、Help帮助命令2、SET命令3、过期命令4、查找键命令5、操作键命令6、GET命...

netcore 急速接入第三方登录,不看后悔

新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢。如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下:https://oauthlogin.net/前言此次带来得这个小项目是...

精选 30 个 C++ 面试题(含解析)(c++面试题和答案汇总)

大家好,我是柠檬哥,专注编程知识分享。欢迎关注@程序员柠檬橙,编程路上不迷路,私信发送以下关键字获取编程资源:发送1024打包下载10个G编程资源学习资料发送001获取阿里大神LeetCode...

Oracle 12c系列(一)|多租户容器数据库

作者杨禹航出品沃趣技术Oracle12.1发布至今已有多年,但国内Oracle12C的用户并不多,随着12.2在去年的发布,选择安装Oracle12c的客户量明显增加,在接下来的几年中,Or...

flutter系列之:UI layout简介(flutter-ui-nice)

简介对于一个前端框架来说,除了各个组件之外,最重要的就是将这些组件进行连接的布局了。布局的英文名叫做layout,就是用来描述如何将组件进行摆放的一个约束。在flutter中,基本上所有的对象都是wi...

Flutter 分页功能表格控件(flutter 列表)

老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来。PaginatedDataTablePaginatedDataTable是一个带分页功能的DataTable,...

Flutter | 使用BottomNavigationBar快速构建底部导航

平时我们在使用app时经常会看到底部导航栏,而在flutter中它的实现也较为简单.需要用到的组件:BottomNavigationBar导航栏的主体BottomNavigationBarI...

Android中的数据库和本地存储在Flutter中是怎样实现的

如何使用SharedPreferences?在Android中,你可以使用SharedPreferencesAPI来存储少量的键值对。在Flutter中,使用Shared_Pref...

Flet,一个Flutter应用的实用Python库!

▼Flet:用Python轻松构建跨平台应用!在纷繁复杂的Python框架中,Flet宛如一缕清风,为开发者带来极致的跨平台应用开发体验。它用最简单的Python代码,帮你实现移动端、桌面端...

flutter系列之:做一个图像滤镜(flutter photo)

简介很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起...

flutter软件开发笔记20-flutter web开发

flutterweb开发优势比较多,采用统一的语言,就能开发不同类型的软件,在web开发中,特别是后台式软件中,相比传统的html5开发,更高效,有点像c++编程的方式,把web设计出来了。一...

Flutter实战-请求封装(五)之设置抓包Proxy

用了两年的flutter,有了一些心得,不虚头巴脑,只求实战有用,以供学习或使用flutter的小伙伴参考,学习尚浅,如有不正确的地方还望各路大神指正,以免误人子弟,在此拜谢~(原创不易,转发请标注来...

为什么不在 Flutter 中使用全局变量来管理状态

我相信没有人用全局变量来管理Flutter应用程序的状态。毫无疑问,我们的Flutter应用程序需要状态管理包或Flutter的基本小部件(例如InheritedWidget或St...

Flutter 攻略(Dart基本数据类型,变量 整理 2)

代码运行从main方法开始voidmain(){print("hellodart");}变量与常量var声明变量未初始化变量为nullvarc;//未初始化print(c)...