daux/daux.io

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

安装次数: 148,761

依赖者: 1

建议者: 0

安全: 0

星标: 793

关注者: 24

分支: 195

开放问题: 10

语言:JavaScript

类型:项目

0.22.2 2024-08-10 08:01 UTC

README

Latest Version Software License GitHub Workflow Status Coverage Quality Gate Status Packagist Downloads Docker Pulls

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 = 失败

排序

要按特定方式排序您的文件和文件夹,可以在它们前面加上数字和下划线,例如 /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 8.1.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版本兼容;8.1.0及更高版本。

扩展

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

如果你的页面名称包含非英文字符,建议安装 php-intl 扩展。

支持

如果你在使用 Daux.io 时需要帮助,或者发现了 bug,请在本项目的 GitHub 仓库 上创建一个 issue。