d3/daux.io

使用简单文件夹结构和Markdown文件创建自定义文档的文档生成器

安装: 42

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 4

分支: 195

类型:项目


README

Latest Version Software License GitHub Workflow Status Coverage Status Quality Score Total Downloads

Daux.io 是一个文档生成器,使用简单的文件夹结构和Markdown文件实时创建自定义文档。它帮助您以开发者友好的方式创建出色的文档。

特性

  • 100% 移动响应式
  • 符合CommonMark规范(Markdown规范)
  • 支持Markdown表格
  • 自动创建主页/着陆页
  • 自动语法高亮
  • 自动生成导航
  • 4种内置主题或自定义主题
  • 功能性强,扁平化设计风格
  • 可分享/可链接的SEO友好URL
  • 基于Bootstrap构建
  • 无构建步骤
  • 兼容Git/SVN
  • 支持Google Analytics和Piwik Analytics
  • 可选代码浮动布局
  • 静态输出生成

演示

这是使用Daux.io的网站列表

您使用Daux.io吗?请发送pull request或打开问题,我将把您添加到列表中。

安装

PHP和Composer

如果您已安装PHP和Composer,您可以安装依赖项

composer global require daux/daux.io

# Next to your `docs` folder, run
daux generate

然后您可以使用daux命令行生成您的文档。

如果找不到命令,请确保您的$PATH包含~/.composer/vendor/bin

Docker

或者如果您想使用Docker,命令的开始部分将是

docker run --rm -it -w /build -v "$PWD":/build -u "$(id -u):$(id -g)" daux/daux.io daux

在服务器上运行

将此存储库作为zip文件下载,解压,并将您的文档放入docs文件夹,然后您可以使用Apache或Nginx提供服务。

daux

命令行工具有两个命令:generateserve,不添加参数运行Daux.io将自动运行generate命令。

您可以通过运行daux --help来获取每个命令的更多详细信息。

文件夹

默认情况下,生成器将在docs文件夹中查找文件夹。将您的文件夹添加到docs文件夹内。此项目包含一些示例文件夹和文件以供您开始。

您可以嵌套文件夹以获得所需的确切结构。文件夹结构将被转换为嵌套导航。

如果您希望将文档保存在其他位置(如daux.io根目录之外),您可以在global.json文件中指定您的文档路径。

文件

生成器将在docs文件夹及其任何子文件夹内查找Markdown文件(*.md*.markdown)。

您必须使用下划线代替空格。以下是一些示例文件名及其转换结果:

好的

  • 01_Getting_Started.md = Getting Started
  • API_Calls.md = API Calls
  • 200_Something_Else-Cool.md = Something Else-Cool
  • _5_Ways_to_Be_Happy.md = 5 Ways To Be Happy

不好的

  • File Name With Space.md = FAIL

排序

要按特定方式排序您的文件和文件夹,可以在它们前面加上数字和下划线,例如:/docs/01_Hello_World.md/docs/05_Features.md这将使Hello WorldFeatures之前列出,覆盖默认的字母数字排序。数字将在导航和URL中去除。对于文件6 Ways to Get Rich,您可以使用/docs/_6_Ways_to_Get_Rich.md

着陆页面

如果您想为您的项目创建一个漂亮的着陆页面,只需在/docs文件夹的根目录中创建一个index.md文件。然后,将使用此文件来创建着陆页面。您还可以使用配置文件添加口号和图片,如下所示

{
    "title": "Daux.io",
    "tagline": "The Easiest Way To Document Your Project",
    "image": "app.png"
}

注意:图片可以是本地或远程图片。使用约定<base_url>来引用Daux实例的根目录。

部分着陆页面

如果您对文档的子部分感兴趣,想要创建着陆页面,只需在该文件夹中添加一个index.md文件。例如,/docs/01_Examples有一个着陆页面,因为存在一个/docs/01_Examples/index.md文件。如果您希望为没有着陆页面格式的部分创建索引页面,请使用名称_index.md

配置

要自定义文档的外观和感觉,您可以在/docs文件夹中创建一个config.json文件。该config.json文件是一个简单的JSON对象,您可以使用它来更改文档的一些基本设置。

标题

更改文档中的标题栏

{
    "title": "Daux.io"
}

主题

我们有4个内置的Bootstrap主题。要使用其中一个主题,只需将theme选项设置为以下之一

  • daux-blue
  • daux-green
  • daux-navy
  • daux-red
{
    "html": { "theme": "daux-green" }
}

更多选项

许多其他选项可供选择

远程运行

将仓库中的文件复制到可以运行PHP 7.2.0或更高版本的Web服务器。

本地运行

有几种方法可以在本地运行文档。推荐的方法是运行daux serve,这将执行PHP的嵌入式服务器。

默认情况下,服务器将在:https://:8085

这实际上仅适用于您正在编写/更新大量文档并希望在本地预览更改的情况。

生成一组静态文件

可以将它们上传到静态网站托管服务,如pages.github.com。

生成带有导航的完整页面集

daux --source=docs --destination=static

IIS上运行

如果您已设置本地或远程IIS网站,您可能需要一个包含以下内容的web.config

  • 重写配置,用于处理干净的URL。
  • 如果使用自定义主题,则为less文件提供MIME类型处理器。

干净的URL

web.config需要在<system.webServer>下的<rewrite>中有一个条目。

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Main Rule" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add
                            input="{REQUEST_FILENAME}"
                            matchType="IsFile"
                            negate="true"
                        />
                        <add
                            input="{REQUEST_FILENAME}"
                            matchType="IsDirectory"
                            negate="true"
                        />
                    </conditions>
                    <action
                        type="Rewrite"
                        url="index.php"
                        appendQueryString="false"
                    />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

要在IIS 6上使用干净的URL,您将需要使用自定义URL重写模块,例如URL Rewriter

PHP要求

Daux.io与官方支持的PHP版本兼容;7.2.0及以上。

扩展

Daux.io 需要以下 PHP 扩展才能运行:php-mbstringphp-xml

如果您遇到类似于 utf8_decode() 未找到 的错误,这意味着您缺少 php-xml 软件包。

支持

如果您需要使用 Daux.io 的帮助,或者发现了错误,请在本 GitHub 仓库 上创建一个问题。