跳转到主要内容

具有Markdown渲染功能的静态Web服务器

项目描述

Static Markdown

具有Markdown渲染功能的静态Web服务器。

它提供常规HTTP内容(HTML、JS、CSS、图片等),但当您浏览.md.mdown.markdown文件时,它将转换为HTML并以(希望)可读的页面进行渲染。

PyPI - Python Version Travis CI status

重要警告

不建议在生产环境中使用此服务器。它是一个用于提供静态文件和Markdown内容的玩具,但对安全性、性能、可用性等没有保证。

安装

通过PyPI

使用pip安装此工具以从PyPI下载它。您可能更喜欢使用virtualenv,但也可能想要全局安装。

pip install static-markdown
pip install --user static-markdown

使用源代码

我们建议您使用virtualenv安装此软件包。克隆此存储库,然后在您的virtualenv内部运行以下命令

pip install -e ./

用法

安装完成后,您只需将当前shell会话切换到指定目录并运行以下命令

cd /path/to/directory
serve-md

或者,您也可以从任何位置运行此命令行,但需要将目标路径作为命令参数设置

serve-md /path/to/directory

使用这些默认选项,您现在可以通过将浏览器指向以下地址来浏览您的“静态网站”: http://127.0.0.1:8080/

使用Ctrl-C停止服务器。

选项

usage: serve-md [-h] [-p PORT] [--markdown-template MARKDOWN_TEMPLATE]
                [--stylesheet STYLESHEET] [--version]
                [root]

positional arguments:
  root                  Path to serve statically

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  Port number (0-65535)
  --markdown-template MARKDOWN_TEMPLATE
                        Path to an alternate HTML template for Markdown files
  --stylesheet STYLESHEET
                        Path to a custom stylesheet
  --version             Return version and exit

浏览

让我们考虑以下路径树

.
├── empty
├── images
│   └── knight.png
├── index.html
├── mdown
│   └── index.md
├── mdown-readme
│   └── README.md
└── subdir
    └── index.html

以下表格描述了使用给定URL在浏览器中渲染的不同页面

URL 内容 内容类型 状态码
/ index.html text/html 200 OK
/empty 目录列表 text/html 200 OK
/images/knight.png knight.png (二进制) image/png 200 OK
/mdown/ index.md (HTML格式) text/html 200 OK
/mdown/index.md index.md (HTML格式) text/html 200 OK
/mdown-readme README.md (HTML格式) text/html 200 OK
/subdir 重定向到 /subdir/ - 301 永久移动
/subdir/ subdir/index.html text/html 200 OK

索引

当浏览目录时,serve-md会按照以下顺序查找以下文件:“index.html”、“index.htm”、“index.md”、“README.md”、“readme.md”。找到的第一个文件将作为目录的索引页面提供服务。

如果没有找到任何一个文件,serve-md将返回目录列表。如果您正在使用“Markdown模板”功能,它将在渲染此页面时使用。

HTTP动词

实现了GET和HEAD动词。

POST、PUT、DELETE将返回405方法不允许错误。

Markdown模板

默认情况下,Markdown文件将使用最小化CSS渲染为HTML。使用--markdown-template选项,您可以使用自定义CSS和自己的HTML模板来渲染生成text/html。您可以在源代码库中的example-options目录中找到各种示例。

我们使用了各种极简CSS框架来进行渲染和布局

自定义样式

如果您只需要自定义样式,而不是HTML页面的结构,您可以使用--stylesheet选项来指向一个CSS文件。

示例

serve-md /path/to/directory --stylesheet ~/my-style.css

黑客

  1. 克隆此存储库。
  2. 编写测试。
  3. 实现功能。
  4. 打开一个拉取请求。

重要:每次您修改服务器代码的任何一行,如果您想实时测试您的补丁,您必须停止并重新启动应用程序。

运行自动化测试

在shell会话中,使用以下命令运行测试

make test

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

static-markdown-0.4.0.tar.gz (11.2 kB 查看哈希值)

上传时间 源代码

构建分发

static_markdown-0.4.0-py2.py3-none-any.whl (9.7 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面