首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docsify文档的基本flask实现

Docsify文档的基本flask实现
EN

Stack Overflow用户
提问于 2019-06-01 20:56:17
回答 2查看 782关注 0票数 1

我偶然发现了Docsify (https://docsify.js.org/#/),并对它进行了有趣的实验。我对使用我自己的flask服务器提供一些文档很感兴趣,而不是使用Github页面或节点,但是我不知道如何实现它。

正如Docsify (https://docsify.js.org/#/quickstart?id=manual-initialization)所描述的,在本地提供一个简单的index.html来呈现并将README.md作为标记内容工作得很好。

index.html

代码语言:javascript
复制
<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      //...
    }
  </script>
  <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
</body>
</html>

README.md

代码语言:javascript
复制
# Hi, I'm markdown content

运行静态服务器的命令行(works):

代码语言:javascript
复制
python -m SimpleHTTPServer 3000

现在,在Flask中,我使用了应用程序工厂+蓝图模式,就flask而言,一切都像预期的那样工作。我可以添加一个新的端点,它呈现得很好。我的文件结构:

代码语言:javascript
复制
├── instance
│   └── flask.cfg
├── main.py
├── project
│   ├── __init__.py
│   ├── front
│   │   ├── __init__.py
│   │   ├── routes.py
│   │   └── templates
│   │       └── front
│   │           └── index.html
│   ├── documentation
│   │   ├── __init__.py
│   │   ├── routes.py
│   │   └── templates
│   │       └── documentation
│   │           ├── README.md
│   │           └── index.html
│   ├── static
│   │   ├── favicon.ico
│   │   └── style.css
│   └── templates
│       └── base.html
└── requirements.txt

project -> documentation -> documentation文件夹中,我在与上面的Docsify示例相同的级别添加了一个README.md,它在本地得到了很好的服务。

index.html通过flask加载(仔细查看,你会看到侧边栏和汉堡包菜单按钮),但标记内容没有,我得到'404 -找不到‘的消息。

我根本不知道如何实现它,更不用说如何优雅地实现它了。

EN

回答 2

Stack Overflow用户

发布于 2019-10-14 19:07:51

下面是我要做的:

代码语言:javascript
复制
location /doc/ {
    index index.html;
    root /www/api/templates;
}

然后你可以像我一样在/doc上访问你的文档:enter image description here

这是我的网站展望(用纯超文本标记语言写的):enter image description here

票数 0
EN

Stack Overflow用户

发布于 2019-11-17 22:00:53

如果你在站点的根目录(即本地开发3000:localhost:3000/)提供index.html,docsify将尝试从同一级别开始获取所有其他文件。在您的例子中,它期望在这个端点localhost:3000/README.md上找到README.md

您可以执行以下操作:

  • 在您的flask服务器(如/documentation )中创建一个路由,为documentation文件夹中的所有文件提供服务。这样,您将在docsify配置文件中的/documentation/README.md
  • add中获得README.md文件basePath属性(https://docsify.js.org/#/configuration?id=basepath):basePath: '/documentation/'

通过这种方式,您应该能够从路由/documentation/*访问所有.md文件,并且docsify将成功地呈现它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56406960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档