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

使用Docker搭建StackEdit在线MarkDown编辑器

1、安装Docker

# 安装Docker
https://docs.docker.com/get-docker/# 安装Docker Compose
https://docs.docker.com/compose/install/# CentOS安装Docker
https://mp.weixin.qq.com/s/nHNPbCmdQs3E5x1QBP-ueA

2、安装StackEdit

2.1、方式1

详见:
https://benweet.github.io/stackedit.js
https://github.com/benweet/stackedit.js

创建目录;

mkdir stackedit

切换目录:

cd stackedit

创建index.js文件:

/* https://benweet.github.io/stackedit.js/index.js */
/* eslint-disable prefer-arrow-callback, comma-dangle */
/* global Stackedit */function makeEditButton(el) {const div = document.createElement('div');div.className = 'stackedit-button-wrapper';div.innerHTML = '<a href="javascript:void(0)"><img src="icon.svg">Edit with StackEdit</a>';el.parentNode.insertBefore(div, el.nextSibling);return div.getElementsByTagName('a')[0];
}const textareaEl = document.querySelector('textarea');
makeEditButton(textareaEl).addEventListener('click', function onClick() {const stackedit = new Stackedit();stackedit.on('fileChange', function onFileChange(file) {textareaEl.value = file.content.text;});stackedit.openFile({name: 'Markdown with StackEdit',content: {text: textareaEl.value}});});const htmlEl = document.querySelector('.html');
let markdown = 'Hello **Markdown** writer!';function doOpen(background) {const stackedit = new Stackedit();stackedit.on('fileChange', function onFileChange(file) {markdown = file.content.text;htmlEl.innerHTML = file.content.html;});stackedit.openFile({name: 'HTML with StackEdit',content: {text: markdown}}, background);
}doOpen(true);
makeEditButton(htmlEl).addEventListener('click', function onClick() {doOpen(false);});

创建index.html文件:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>stackedit.js</title>
</head><body><textarea></textarea>
</body><script src="https://unpkg.com/stackedit-js@1.0.7/docs/lib/stackedit.min.js"></script>
<script src="index.js"></script>
</html>

运行容器:

docker run -it -d --name stackedit -p 8080:80 nginx:latest

查看容器列表:

docker ps

复制文件到容器:

# 备份:
docker exec -it stackedit \cp /usr/share/nginx/html/index.html \/usr/share/nginx/html/index.html-bak # 复制文件到容器:
docker cp index.js stackedit:/usr/share/nginx/html
docker cp index.html stackedit:/usr/share/nginx/html

停止容器;

docker stop stackedit

删除容器:

docker rm stackedit

删除镜像:

docker rmi nginx:latest

2.2、方式2

详见:https://github.com/benweet/stackedit

拉取镜像:

docker pull benweet/stackedit:latest

运行容器:

docker run -it -d --name stackedit -p 8080:8080 benweet/stackedit:latest

查看容器列表:

docker ps

停止容器:

docker stop stackedit

删除容器:

docker rm stackedit

删除镜像:

docker rmi benweet/stackedit:latest

3、浏览器访问

假设当前ip为192.168.186.128
浏览器访问:http://192.168.186.128:8080

首页:

点击“START WRITING”:

4、详见

https://stackedit.io
https://github.com/benweet/stackedit
https://benweet.github.io/stackedit.js
https://github.com/benweet/stackedit.js
https://mp.weixin.qq.com/s/OtqnXgnOwrA7eYHkaPGrwQ
http://www.dtcms.com/a/355365.html

相关文章:

  • 如何通过docker进行本地部署?
  • 企业内部机密视频安全保护|如何防止企业内部机密视频泄露?
  • (附源码)基于Spring Boot公务员考试信息管理系统设计与实现
  • GitLab 配置 Pipeline 的过程
  • linux 网络:协议及Wireshark抓包工具的使用
  • Elasticsearch冷热架构:性能与成本完美平衡
  • 《深入浅出 Node.js》分享精简大纲
  • linu 网络 :TCP粘包及UDP
  • 软件设计师备考-(五)计算机网络
  • 客户端是否都需要主动发送`FindService`报文来寻找服务
  • FPGA开发技能(12)matlab图片处理助力FPGA开发
  • 【温室气体数据集】GlobalView 数据概述
  • Kotlin 协程之Channel 的高阶应用
  • RAGFlow
  • plantsimulation知识点 一条轨道上多台RGV如何引用
  • 【Big Data】Presto db 一种语言、一个接口搭建可靠、高效数据湖仓
  • NineData 最新发布 SQL Server 双向实时同步功能
  • 手机上访问你电脑上的前端项目
  • Rust 登堂 之 类型转换(三)
  • 趣味学Rust基础篇(数据类型)
  • Python Discord Logo
  • 【SpringAI】快速上手,详解项目快速集成主流大模型DeepSeek,ChatGPT
  • 操作系统-基础知识面试常见篇
  • 算法之排序
  • java后端的各种注解
  • 基于 PyTorch 构建 Dataset 与 DataLoader:从 TXT 文件读取到新增类别全流程指南
  • AI大模型企业落地指南-笔记02
  • Spring 框架中事务传播行为的定义
  • 146. LRU缓存
  • python使用sqlcipher4对sqlite数据库加密