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

使用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.xdnf.cn/news/19182.html

相关文章:

  • 【论文阅读】CLIP: 从自然语言监督中学习可迁移的视觉模型
  • 【Depth与RGB对齐算法(D2C)】
  • 首次创建Django项目初始化
  • 沙箱操作工具
  • 计算机组成原理3-3-1:无符号数乘法运算的硬件逻辑实现
  • 学习做动画6.瞄准偏移
  • JavaScript初识:给小白的第一堂编程课
  • 大数据毕业设计选题推荐-基于大数据的痴呆症预测数据可视化分析系统-Spark-Hadoop-Bigdata
  • openEuler常用操作指令
  • AT_abc407_e [ABC407E] Most Valuable Parentheses
  • 客户案例 | 国际知名内衣品牌x甄知科技,领航IT服务新征程
  • 算法题打卡力扣第15题:三数之和(mid)
  • 用 PyTorch 搭建 CNN 实现 MNIST 手写数字识别
  • QT:【第一个QT程序】【信号和槽】
  • 2025通用证书研究:方法论、岗位映射与四证对比
  • 腾讯云重保流程详解:从预案到复盘的全周期安全防护
  • 【练习九】Java实现加油站支付小程序:存款与消费
  • 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建三
  • Unity游戏打包——Android打包环境(Mac下)
  • 0828 C++基础
  • PhotoshopImageGenerator:基于Photoshop的自动化图像数据集生成工具
  • BGP路由协议(一):基本概念
  • 每日五个pyecharts可视化图表日历图和箱线图:从入门到精通
  • 基于matplotlib库的python可视化:以北京市各区降雨量为例
  • 【开题答辩全过程】以 基于Spring Boot农产品运输服务平台为例,包含答辩的问题和答案
  • [论文阅读] 人工智能 + 软件工程 | 告别“隐藏陷阱”:领域预训练模型SmartBERT如何赋能智能合约安全
  • LoRA modules_to_save解析及卸载适配器(62)
  • 怎样将Word转成高质量的DITA
  • 构建AI智能体:十六、构建本地化AI应用:基于ModelScope与向量数据库的文本向量化
  • RGW层Op的组织