推荐一款高效能的Markdown服务器——Allmark
Allmark 是一个轻量级、独立的Markdown网页服务器,由Go语言编写,支持Linux、Mac OS和Windows系统。它以其简洁、快捷的方式,帮助用户将任何包含Markdown文件的目录转换为功能完备的HTML网站。
项目介绍
Allmark的核心特性在于其文件系统中心化的处理方式。只需指定一个带有Markdown文件的目录,服务器就能立即启动,并以HTML形式展示这些文件的内容。不仅如此,Allmark还自动添加了导航、全文搜索、主题、站点地图、RSS订阅、标签等网站必备元素,并通过WebSocket实现实时重载。
项目提供的动画演示展示了从GitHub克隆Allmark、构建并进行测试运行的过程,简单直观:
得益于Go语言的强大性能,Allmark实现这一切的速度极快,而且只需要一个单独的应用程序。
使用方法
要服务特定目录,可以执行:
allmark serve <directory path>
在当前目录下服务:
cd markdown-repository
allmark serve
启用实时重载:
allmark serve -livereload
每60秒强制重新索引:
allmark serve -reindex
强制HTTPS(将所有HTTP请求重定向到HTTPS):
allmark serve -secure
保存默认配置到.allmark
文件夹以便自定义:
allmark init
Allmark可以处理任何含有Markdown文档及其引用文件(如图片、文本文件等)的目录结构,并通过HTTP(S)在随机空闲端口上提供服务。
结构与约定
标准的Markdown仓库结构可能如下所示:
├── files
│ ├── image.png
│ └── more-files
│ ├── file1.txt
│ ├── file2.txt
│ └── file3.txt
└── some-file.md
- 每个目录含一个Markdown文件(扩展名是.md、.markdown或.mdown)
- 一个名为
files
的文件夹,其中包含Markdown文档引用的所有文件 - 可以有任意数量的子目录,每个子目录中也可以有更多的Markdown文件
Allmark允许无限级别的嵌套,并对没有Markdown文件的目录进行索引。
标准Markdown文档结构
Allmark期望的Markdown文档结构包括标题、描述文本和文档正文。例如:
# Document Title / Headline
A short description of the document ... Usually one sentence.
The Content of your document
![Some Image](files/image.jpg)
- A List 1
- A List 2
- A List 3
**Some garbage text**: In pharetra ullamcorper egestas.
Nam vel sodales velit. Nulla elementum dapibus sem nec scelerisque.
In hac habitasse platea dictumst. Nulla vestibulum lacinia tincidunt.
下载与安装
您可以从allmark.io/bin下载适用于您操作系统的最新二进制版本。具体操作步骤在项目README中有详细说明。
功能
Allmark能够将Markdown文件转化为包含以下功能的网站:
- 导航
- 站点地图
- 全文搜索
- 实时重载
所有服务均通过HTTP(S)提供。
示例与试用
想要查看Allmark的实际效果,可以访问安迪·科赫的博客AndyK Docs:https://andykdocs.de。
构建
项目在Travis CI上持续集成,确保源代码质量。若感兴趣,也可自行编译,详情见文档/开发/构建部分。
贡献与联系
欢迎任何形式的贡献!可以通过创建拉取请求,或者通过Twitter (@allmark_io 或 @andreaskoch),GitHub,电子邮件(andy@allmark.io)等方式与我们联系。
有了Allmark,你可以快速地搭建起自己的Markdown文档服务器,无论是个人笔记,还是团队协作,都能得心应手。让我们一起享受Markdown带来的高效与乐趣吧!
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie032
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥02
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX022
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML07
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript085
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala04