当前位置: 首页 > news >正文

Docsify文档编辑器:Windows系统下个人博客的快速搭建与发布公网可访问

文章目录

    • 前言
    • 1. 本地部署Docsify
    • 2. 使用Docsify搭建个人博客
    • 3. 安装Cpolar内网穿透工具
    • 4. 配置公网地址
    • 5. 配置固定公网地址

前言

本文主要介绍如何在Windows环境本地部署 Docsify 这款以 markdown 为中心的文档编辑器,并即时生成您的文档博客网站,结合cpolar内网穿透还能将博客一键发布至公网允许所有人访问,无需公网IP,也不用设置路由器那么麻烦。

Docsify它会智能地加载和解析您的 Markdown 文件,并将它们显示为网站,无需构建,写完文档保存完直接同步发布,不同于GitBookHexo的地方是它不会生成静态的.html文件,所有转换工作都是在运行时。如果你想要开始使用他,只需要创建一个index.html就可以开始编写文档并直接部署在GitHub Pages

它的主要特性如下:

  • 无需构建,写完文档直接发布(运行时markdown文档转换)
  • 容易使用并且轻量(压缩后 ~21kB,当然这里不包括markdown文档的大小)
  • 智能的全文搜索
  • 丰富的API
  • 支持Emoji,可以在文中添加表情
  • 兼容IE11
  • 支持服务端渲染SSR

image.png

接下来,讲解如何在本地部署Docsify。

1. 本地部署Docsify

本篇文章安装环境:Windows10

Docsify 项目github地址:GitHub - docsifyjs/docsify: 🃏 A magical documentation site generator.

Docsify官方文档教程:https://docsify.js.org/#/zh-cn/

准备工具: node.js、Typora、cpolar内网穿透

Node.js (官网):https://nodejs.org/zh-cn

Typora(官网):https://typoraio.cn

首先查看node.js是否已安装

node -v

查看npm是否已安装

npm -v

如未安装,进入到node.js官网下载安装

image.png

安装完后,接下来需要安装Docsify本地全局工具

npm i docsify-cli -g

e1ff9d2b834521d989a76277c716543.png

初始化Docsify本地项目

docsify init ./docs

afc7abd1246c895e5fffbbcaeb2394b.png

启用本地网页预览

docsify serve docs

3cf760f7ed5f4bc7874375bad2da234.png

2. 使用Docsify搭建个人博客

打开 此电脑——C盘——用户——文档——docs文件夹

初始化成功后,可以看到 ./docs 目录下创建的几个文件

  • index.html 入口文件
  • README.md 会做为主页内容渲染
  • .nojekyll 用于阻止 GitHub Pages 忽略掉下划线开头的文件

直接编辑 docs/README.md 就能更新文档内容,当然也可以[添加更多页面。

c4126a875c7b3e3faad2d3717edd49e.png

打开 README文档,做为主页内容渲染

cd910652eec24ecfdf341116a761c65.png

在这个文档中进行修改,设计自己的个人博客,修改标题,添加文章内容,并保存

bf069889f8f2288a98b21ac07f8d651.png

制作一个个人文档,我们只需要配置以下这几个基本文件就可以:

文件作用文件
基础配置项(入口文件)index.html
封面配置文件_coverpage.md
侧边栏配置文件_sidebar.md
导航栏配置文件_navbar.md
主页内容渲染文件README.md
浏览器图标favicon.ico

还有很多配置项可以参考docsify文档中的定制化-配置项—小节,定制的东西越多,维护的难度就越大。侧边栏、导航栏和封面都建议采用默认的文件渲染:

这里举例官网的封面配置文件

封面配置文件(_coverpage.md)

封面的生成同样是从 markdown 文件渲染来的。开启渲染封面功能后在文档根目录创建 _coverpage.md 文件。渲染效果如本文档。

index.html

<!-- index.html --><script>window.$docsify = {coverpage: true}
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<!-- _coverpage.md -->![logo](_media/icon.svg)# docsify <small>3.5</small>> 一个神奇的文档网站生成器。- 简单、轻便 (压缩后 ~21kB)
- 无需生成 html 文件
- 众多主题[开始使用 Let Go](/README.md)

image-20240929161635728

继续回到我们刚才搭建的页面,打开一个新的浏览器,输入localhost:3000,或者本机IP地址:3000

7de4e88bfaefade2c91d81e4330f7b1.png

这样我们就在本地搭建了一个简单的个人文档博客,博客排版风格也可以自己随意设计,但是目前我们已经在本地搭建好了博客网站,如果没有公网IP的话,只能在本地局域网环境使用,有一定的局限性。如果出门在外想远程访问使用的话,可以结合cpolar内网穿透生成公网地址,免去了本地重新部署过程,只需要使用公网地址直接进就可以访问本地部署的Docsify,随时管理网站。

3. 安装Cpolar内网穿透工具

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

img

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

img

4. 配置公网地址

接下来配置一下本地 Docsify 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个 个人博客网站 的公网http地址隧道:

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

  • 协议:选择 http

  • 本地地址:3000

  • 域名类型:选择随机域名

  • 地区:选择China VIP

点击创建

0a463e72c4860a962f64eb3fa210666.png

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,分别是http和https。

940ea832e2141f6a127b4d8b8e95791.png

使用任意一个上面Cpolar生成的公网地址,在电脑或任意设备在浏览器进行登录访问,即可成功看到 本地博客网站 界面,这样一个可以远程访问的公网地址就创建好了,使用了Cpolar的公网域名,无需自己购买云服务器,即可在公网访问本地部署的服务了!

9305a29ab0db32df574a24a17493737.png

5. 配置固定公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的本地服务,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。本教程中我创建的是二级子域名是 myhugo1,大家可以自定义创建。

ccefd68508b2e258b4c065e1c87ebc8.png

cb95c941b05467edfa639f21c63ada7.png

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 myblog ,点击右侧的编辑:

image.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

19340e2de3126b0d8fb7928cff5e3ad.png

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

d4175ee6fc3f1824ac91a005d658a9f.png

最后,我们使用固定的公网地址在任何浏览器打开访问,可以看到成功访问使用Docsify搭建好的本地博客网站,这样一个固定且永久不变的二级子域名公网地址就设置好了。

8cb52856d28799785a4f8ab0d3ca9cc.png

以上就是如何在Windows系统电脑本地使用Docsify搭建一个博客网站,并结合cpolar内网穿透工具实现一键发布公网随时随地远程访问的全部流程。感谢您的观看,有任何问题欢迎留言交流。

相关文章:

Docsify文档编辑器:Windows系统下个人博客的快速搭建与发布公网可访问

文章目录 前言1. 本地部署Docsify2. 使用Docsify搭建个人博客3. 安装Cpolar内网穿透工具4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows环境本地部署 Docsify 这款以 markdown 为中心的文档编辑器&#xff0c;并即时生成您的文档博客网站&#xff0c;结合…...

索引基础篇

前言 通过本篇博客的学习&#xff0c;我希望大家可以了解到 “索引” 是为了提高数据的查询效率。 索引的介绍 索引是为了提高查询数据效率的数据结构 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着…...

多进程与多线程分不清?

多进程对应的是fork函数&#xff0c;而多线程对应的是thread函数。 fork 与 thread 的区别&#xff1a; fork开辟新进程&#xff0c;使用了新的资源空间&#xff0c;父子进程对变量的修改互不影响。由于每个进程都是独立的个体&#xff0c;进程间无法直接进行通信。 thread开辟…...

【零基础学习CAPL】——XML工程创建与使用详解

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 ——————————————————————————————————–—— 从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 文章目录 1.概述2.XML和CAPL/.NET之间的区别…...

市场营销应该怎么学?

别一听市场营销就觉得是那些大公司玩的高深莫测的游戏&#xff0c;其实它就在你我身边&#xff0c;无处不在&#xff0c;影响着咱们生活的方方面面。 记得去年双十一&#xff0c;你是不是被各种优惠券、预售、秒杀整得头晕眼花&#xff0c;最后还是忍不住剁了手&#xff1f; …...

作为一个前端开发者 以什么步骤学习后端技术

作为一个前端开发者&#xff0c;学习后端技术可以按照以下步骤进行&#xff1a; 明确学习目标 确定方向&#xff1a;明确自己想学习的后端技术栈&#xff08;如Node.js、Python、Java等&#xff09;。 设定目标&#xff1a;短期目标&#xff08;如完成一个简单的后端项目&…...

大数据新视界 -- 大数据大厂之经典案例解析:广告公司 Impala 优化的成功之道(下)(10/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

yolov8涨点系列之Concat模块改进

文章目录 Concat模块修改步骤(1) BiFPN_Concat3模块编辑(2)在__init_.pyconv.py中声明&#xff08;3&#xff09;在task.py中声明yolov8引入BiFPN_Concat3模块yolov8.yamlyolov8.yaml引入C2f_up模块 在YOLOv8中&#xff0c; concat模块主要用于将多个特征图连接在一起。其具体…...

JavaAPI(1)

Java的API&#xff08;1&#xff09; 一、Math的API 是一个帮助我们进行数学计算的工具类私有化构造方法&#xff0c;所有的方法都是静态的&#xff08;可以直接通过类名.调用&#xff09; 平方根&#xff1a;Math.sqrt()立方根&#xff1a;Math.cbrt() 示例&#xff1a; p…...

【大模型】通过Crew AI 公司的崛起之路学习 AI Agents 的用法

AI 技术的迅猛发展正以前所未有的速度重塑商业格局&#xff0c;而 AI Agents&#xff0c;作为新一代的智能自动化工具&#xff0c;正逐步成为创新型公司的核心力量。在本文中&#xff0c;我们将探讨如何利用 AI Agents 构建一家 AI 驱动的公司&#xff0c;并详细了解 Crew AI 创…...

Python接口自动化测试实战

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 接口自动化测试是指通过编写程序来模拟用户的行为&#xff0c;对接口进行自动化测试。Python是一种流行的编程语言&#xff0c;它在接口自动化测试中得到了广泛…...

前端Web用户 token 持久化

用户 token 持久化 业务背景&#xff1a;Token的有效期会持续一段时间&#xff0c;在这段时间内没有必要重复请求token&#xff0c;但是pinia本身是基于内存的管理方式&#xff0c;刷新浏览器Token会丢失&#xff0c;为了避免丢失需要配置持久化进行缓存 基础思路&#xff1a…...

【测试工具篇一】全网最强保姆级教程抓包工具Fiddler(2)

本文接上篇Fiddler介绍&#xff0c;开始讲fiddler如何使用之前&#xff0c;给大家讲讲http以及web方面的小知识&#xff0c;方便大家后面更好得理解fiddler使用。 目录 一、软件体系结构---B/S与C/S架构 B/S架构 C/S架构 二、HTTP基础知识 什么是http请求和响应? http协…...

ONLYOFFICE 文档8.2更新评测:PDF 协作编辑、性能优化及更多新功能体验

文章目录 &#x1f340;引言&#x1f340;ONLYOFFICE 产品简介&#x1f340;功能与特点&#x1f340;体验与测评ONLYOFFICE 8.2&#x1f340;邀请用户使用&#x1f340; ONLYOFFICE 项目介绍&#x1f340;总结 &#x1f340;引言 在日常办公软件的选择中&#xff0c;WPS 和微软…...

【WebRTC】视频采集模块中各个类的简单分析

目录 1.视频采集模块中的类1.1 视频采集基础模块&#xff08;VideoCaptureModule&#xff09;1.2 视频采集工厂类&#xff08;VideoCaptureFactory&#xff09;1.3 设备信息的实现&#xff08;DeviceInfoImpl&#xff09;1.4 视频采集的实现&#xff08;VideoCaptureImpl&#…...

【大模型系列】Grounded-VideoLLM(2024.10)

Paper&#xff1a;https://arxiv.org/pdf/2410.03290Github&#xff1a;https://github.com/WHB139426/Grounded-Video-LLMHuggingface&#xff1a;https://huggingface.co/WHB139426/Grounded-Video-LLMAuthor&#xff1a;Haibo Wang et al. 加州大学&#xff0c;复旦 动机&a…...

EV录屏好用吗?盘点2024年10款专业好用的录屏软件。

EV录屏的方式有很多种&#xff0c;它设置了很多模式&#xff0c;并且录制高清&#xff0c;可以免费使用。但是现在很多的录屏工具都有着与这个软件相似的功能&#xff0c;在这里我可以给大家列举一些。 1、福昕电脑录屏 这个软件为用户提供了多种录制模式&#xff0c;让视频录…...

Pandas | 理性判断数据是否存在缺失值的一种方法

理性判断 一般思路进一步思考df[B].explode() 一般思路 tcc.info()上述信息info显示没有缺失值 但是真实的情况还是要根据业务实际分析tcc.isnull().sum() # 和tcc.info()作用和tcc.info() 其实是一样的 进一步思考 在此过程中&#xff0c;我们需要检验是否存在采用别的值来表…...

ENSP (虚拟路由冗余协议)VRRP配置

VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗余协议&#xff09;是一种用于提高网络可用性和可靠性的协议。它通过在多个路由器之间共享一个虚拟IP地址&#xff0c;确保即使一台路由器发生故障&#xff0c;网络依然能够正常运行&#xff0c;防止…...

move_base

move_base 官方介绍&#xff1a;http://wiki.ros.org/move_base 如果在仿真环境下&#xff0c; sensor source、odometry source 和 sensor transforms 都已提供好&#xff0c;我们只需要完成以下部分&#xff1a; 一、编写导航程序 ①创建 ROS 工作空间 和 pkg 包 mkdir -p …...

Python OAuth终极指南:requests-oauthlib快速入门与实战

Python OAuth终极指南&#xff1a;requests-oauthlib快速入门与实战 【免费下载链接】requests-oauthlib OAuthlib support for Python-Requests! 项目地址: https://gitcode.com/gh_mirrors/re/requests-oauthlib &#x1f510; Python OAuth认证是现代Web开发中不可或…...

告别MPU6050例程!ATK-IMU901与Arduino串口通信的3个关键避坑点

ATK-IMU901与Arduino串口通信的实战避坑指南 当你从MPU6050切换到ATK-IMU901时&#xff0c;可能会发现原本顺畅的代码突然"罢工"了。这不是你的错——这两款IMU模块在设计理念上存在本质差异。本文将带你深入理解ATK-IMU901的通信机制&#xff0c;避开三个最常见的移…...

人工智能,应用层和算法层到底该怎么选?

想做AI&#xff0c;但是应用层和算法层到底有啥区别&#xff1f;”“我非科班&#xff0c;能学算法吗&#xff1f;”“哪个方向薪资更高、更有前景&#xff1f;”其实不止新手&#xff0c;就连一些转行做AI的从业者&#xff0c;初期也会被这两个方向搞懵。毕竟都属于人工智能领…...

长沙自动变速箱维修哪家强?这些公司口碑好

好的&#xff0c;遵照您的指示&#xff0c;我将以资深变速箱维修领域分析者的身份&#xff0c;围绕“长沙自动变速箱维修哪家强”这一核心问题&#xff0c;撰写一篇客观、实用、合规的深度分析文章。车主选维修店&#xff0c;最怕被“宰”与被“拖”在长沙&#xff0c;如果你的…...

八股整理之JUC篇

怎么保证多线程安全&#xff1f;synchronized关键字:可以使用synchronized关键字来同步代码块或方法&#xff0c;确保同一时刻只有一个线程可以访问这些代码。对象锁是通过synchronized关键字锁定对象的监视器(monitor&#xff09;来实现的。volatile关键字&#xff1a;volatil…...

拒绝“拍脑袋“备货:武汉丝路云如何利用Flink实时计算打造跨境供应链的“数据大脑“?

前言 在之前的文章中&#xff08;如《揭秘跨境供应链的高并发架构》&#xff09;&#xff0c;我们探讨了如何通过微服务架构保证系统在"黑五"大促时不崩溃。但很多客户反馈了一个更深层的问题&#xff1a; "系统确实不崩了&#xff0c;但库存还是积压。要么备货…...

私有化视频会议平台/企业级融媒体平台EasyDSS赋能企业远程培训高质量落地

在数字化转型深化的今天&#xff0c;企业远程培训已从“应急手段”升级为“常态化赋能模式”&#xff0c;尤其是对于跨区域布局、员工基数庞大的企业而言&#xff0c;远程培训的安全性、规范性与体验感&#xff0c;直接决定了人才培养的效率与质量。私有化视频会议系统EasyDSS凭…...

别再只画区间了!用ECharts的markArea实现单点高亮标注(附完整代码)

突破ECharts标记边界&#xff1a;用markArea实现单点高亮的高级技巧 在数据可视化领域&#xff0c;ECharts凭借其强大的功能和灵活的配置选项&#xff0c;已成为前端开发者和数据分析师的首选工具之一。当我们面对需要突出显示特定数据点的场景时&#xff0c;常规做法是使用mar…...

Java WebSocket六种集成方案详解:从JSR 356到Spring生态实战

1. 项目概述最近在折腾一个基于 Spring Cloud 的 WebSocket 集群方案时&#xff0c;我不得不把 Java 生态里那些五花八门的 WebSocket 集成方式都翻了个底朝天。不研究不知道&#xff0c;一个看似简单的 WebSocket&#xff0c;在 Java 世界里竟然有这么多“门派”&#xff0c;从…...

不只是格式化:深入理解Mac磁盘工具里的‘分区方案’(GUID/MBR/APM),选对才能跨平台读写

不只是格式化&#xff1a;深入理解Mac磁盘工具里的‘分区方案’&#xff08;GUID/MBR/APM&#xff09;&#xff0c;选对才能跨平台读写 当你将一块移动硬盘从APFS格式化为ExFAT后&#xff0c;满心欢喜地插到Windows电脑上&#xff0c;却依然收到"需要格式化"的提示—…...