Git Product home page Git Product logo

docs.page's Introduction

docs.page

Instant Open Source docs with zero configuration.

docs.page Chat on Discord

Homepage โ€ข Documentation

About

docs.page is a free Open Source project, allowing you to create instant, fast, beautiful documentation with zero configuration.

Documentation is an important aspect for many projects, however creating a custom documentation website for each project is time consuming. Many common solutions to problems have to be duplicated, along with dealing with overheads such as website maintenance & hosting.

Solutions such as Jekyll, Docusaurus, docsify and many others are great projects, however still require custom setup for each project.

docs.page is designed to deliver instant documentation websites, with the content sourced directly from any public GitHub repository. Features include:

  • Configurable: Add your own logo, theme, analytics, navigation and more with a simple config file.
  • Previewing: View the documentation of any branch, pull request or specific commit, and a new Local Preview Mode.
  • GitHub Bot: Install our GitHub bot to automatically get a URL to pull request documentation previews.
  • Components: Powered by MDX, use React components such as Tabs (useful for projects with multiple languages) directly in your docs.
  • Search: Easily add full search support powered by DocSearch.
  • Custom Domains: Serve your documentation using your own domain.

Other useful features include:

  • Global variable injection (for managing common variables across the project).
  • Displaying assets using GitHub.
  • Dark/Light mode.
  • Responsive.
  • Code block highlighting and content copying.
  • Page redirects.
  • Per-page metadata support via Frontmatter.

Should I use docs.page?

docs.page is a simple way to generate a documentation with zero effort. It generally works for documentation websites with a lot of Markdown based content. If you require features which are more specific to your own project a custom solution might work better.

License


Built and maintained by Invertase.

docs.page's People

Contributors

bartekpacia avatar cabljac avatar dackers86 avatar ehesp avatar filippomenchini avatar greghesp avatar gregoryconrad avatar jenshor avatar jwafu avatar k9i-0 avatar kishormainali avatar luisgagocasas avatar maheshj01 avatar mason-at-pieces avatar mhadaily avatar mrloldev avatar nhoizey avatar nilsreichardt avatar nizukshya avatar nmfisher avatar peterddod avatar poberbeck avatar rrousselgit avatar rydmike avatar salakar avatar sarbagya-acme avatar sebastienvermeille avatar teddyvermeulin avatar web3sozluk avatar yummyweb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs.page's Issues

[feat] support any code block language

Currently we require code languages manually, which won't work for all projects. Somehow we need to find a way to support dynamic languages.

https://highlightjs.org/ might be an option, however we'd have to ensure that the parsing of the language is carried out on the server (right now, it's on the client).

Improve error messaging

Various things on v2 of docs.page:

  • layout of error page needs tweaking slightly
  • if the frontmatter is causing the issue, let the user know.
  • reimplement the debug page maybe

Fix/tidy types of backend

The api needs to be reviewed, and types need to be refactored and tidied. Additionally the remark plugin system isn't properly typed right now, and should be fixed

Table of contents width

The table of contents should be wider, at the moment it's unnecessarily cutting off a lot of content.

image

Local preview mode

A local preview mode, (probably) without the support for PR and branch previews, to improve writing dev experience writing docs

Do we use the bundler service?

Feature not working: `navigation`

navigation feature may be broken

I have tried to get the top navigation feature to work. So far I have failed. The sidebar works well, but not the top header navigation.

  • Tried it together with sidebar, having navigation before and after in the docs.jsonconfig. No navigation appears.
  • Tried it alone, no header navigation appears.

Thus in neither case can I get the header navigation to show.

My use case for it was that I was trying to use a sidebar as my main nav of course, and to also put two links in the header navigation that would always be present there to two external places, just for convenience.

Reproduction docs repo:

Here is a test reproduction repo: https://github.com/rydmike/docs_page_test
and site: https://docs.page/rydmike/docs_page_test

Having docs.json config file:

{
    "name": "DocsPageTests",
    "favicon": "/images/favicon.png",
    "logo": "/images/logo.png",
    "logoDark": "/images/logo.png",
    "theme": "#0x29B6F6",
    "zoomImages": "true",
    "noindex": "false",
    "sidebar": [
        ["Welcome",
            [
                ["Intro","/"],
                ["More intro", "/more_intro"]
            ]
        ],
        ["Zoom image", "/another_page"]
    ],
    "navigation": [
        ["Intro","/"],
        ["More intro", "/more_intro"],
        ["Package", "https://pub.dev/packages/flex_color_scheme"],
        ["Playground", "https://rydmike.com/flexcolorscheme/themesplayground-v5"]
    ]
}

image

[feat] automatically scan for files at build time

Currently any project added to the repositories.txt file needs to have a paths field in the docs.json file. It might be more beneficial to try and recursively scan the repositories docs/ directory for any .md{x} files and automatically do this for users.

Using the GQL API, you can perform a directory query however this might get expensive if there is many sub-directories.

Inline code blocks styling

Styling could be improved and also some issues;


Back ticks are still output and showing:

image

vs GH:

image


Improve styling:

Currently it just makes the text bold, won't be able to distinguish it from other bold text; the GH markdown approach seems a lot better:

docs.page:

image

vs GH:

image


The same applies to inline code blocks with links, it's currently just bold + underline:

docs.page:

image

vs GH:

image

Table styling

Tables have a couple styling issues;

  • cell borders are missing (only top border seems to be there?)
  • (optional) alternative row colors like GitHub does for readability

Comparison of docs.page vs GH markdown:

image

Issue with `Image` and `zoom`

Unable to get Image zoom to work

I have tried to get feature Image zooming to work mentioned here:

https://use.docs.page/components#zooming

Not sure exactly what it is supposed to do, as I can see no feature on it on the docs page, nor when I try it.
It sounds like something that I would find useful if it does what I think it should be doing.

Tried with "zoomImages" set to both false and true, made no difference.

Reproduction docs repo:

Here is a test reproduction repo: https://github.com/rydmike/docs_page_test
and site: https://docs.page/rydmike/docs_page_test

This page contain a normal html link clickable image and also two zoom attempts, that don't do anything.

https://docs.page/rydmike/docs_page_test/another_page
its source: https://github.com/rydmike/docs_page_test/blob/master/docs/another_page.mdx

Having docs.json config file:

{
    "name": "DocsPageTests",
    "favicon": "/images/favicon.png",
    "logo": "/images/logo.png",
    "logoDark": "/images/logo.png",
    "theme": "#0x29B6F6",
    "zoomImages": "true",
    "noindex": "false",
    "sidebar": [
        ["Welcome",
            [
                ["Intro","/"],
                ["More intro", "/more_intro"]
            ]
        ],
        ["Zoom image", "/another_page"]
    ],
    "navigation": [
        ["Intro","/"],
        ["More intro", "/more_intro"],
        ["Package", "https://pub.dev/packages/flex_color_scheme"],
        ["Playground", "https://rydmike.com/flexcolorscheme/themesplayground-v5"]
    ]
}

image

typedoc/dartdoc/etc support

This has been mentioned a few times, and would be a nice feature.

It could be done in various ways:

  1. using typedoc-markdown-plugin to generate .md files, and formatting them from here (would have to do this for each language, and probably quite prone to errors imo)

  2. writing our own plugin for typedoc etc (this is what docusaurus do, but potentially a lot of effort)

  3. write some kind of parser of various generated json files into a common format for docs.page (potentially also a lot of effort)

mermaid support

It would be really cool to support mermaid diagrams, there's a remark/rehype plugin but i believe it relies on puppeteer, not sure how this will interact with our bundler api.

Feature request: Embed Tweets

New feature request - Embedded tweets

It would be useful if there was a feature to embed tweets, the same way you can use a custom component to embed YouTube videos.

Currently I have to make them as image screen shoots of the tweet and set a link on the the image to the tweet. This works, but is not as handy or nice. Not super critical, I can work with the image + link too. I would just prefer to embed a tweet, like below. This does does not work on GitHub either, but the code Twitter gives to embed a tweet is below:

FlexColorScheme V5-dev.2 is here ๐Ÿ’™
With an even cooler config/code gen app https://t.co/3cgTNvoahH
Get the #Flutter package here https://t.co/oDheabOXIv Official v5 release coming when doc update is done.
This thread is still relevant and has more info:https://t.co/dS8jPAB53q pic.twitter.com/gxdCAjuJxl

โ€” Mike Rydstrom ๐Ÿ’™ (@rydmike) April 5, 2022
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

And it should end up looking like the image plus link version below. Well almost, this URL shows what the above should look like:

https://publish.twitter.com/?query=https%3A%2F%2Ftwitter.com%2FRydMike%2Fstatus%2F1511166732496429058&widget=Tweet

But close enough to this version:

Local preview mode types

Types need to by reviewed and fixed, at the moment it has a few any and things need to be reworked a little.

Content width/padding styling

Comparing the content width to GH markdown it's a lot thinner in width (GH to me feels a lot easier to read) :

image


Changing the article classes attribute to prose dark:prose-dark px-6 lg:px-6 py-6 desktop:py-20 mx-auto max-w-5xl improves this quite a bit:

image


Note the additional px padding change too added above to the classes attribute edit which improves mobile:

Before padding change:
image

After padding change:

image

[feat] improve overall styling

The styling of the documentation doesn't feel super readable right now. Some quick wins:

  • Remove header borders
  • Remove sidebar border (or make less obvious)
  • Compact items in the sidebar
  • Indent sub-menus in the sidebar
  • Update Dark Mode colours - more gray and less blue
  • Add transitions to hover elements

Feature request: Different light and dark mode highlight "theme" color

Feature: Use different highlight "theme" color for light and dark mode.

Currently the same customizable color is used as highlight "theme" color for both light and dark mode. This is not ideal, since there are very few and limited color options that work well in both dark and light mode as a highlight "theme" color.

It would be useful if it was possible to specify separate custom colors for light and dark mode highlight color.

Tabs do not show content

For the custom components functionality you have shown it is possible to use tabs, however the tab content is not shown at all.

This can be replicated on the components page itself in the docs.page documentation.

Add dart code highlighting

The prism-react-renderer only includes the following languages:
https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/vendor/prism/includeLangs.js

I would like to have support for dart code highlighting. It can be easily added as prism already supports it and it is explained how to implement it in the first question How do I add more language highlighting support?
https://github.com/FormidableLabs/prism-react-renderer#faq

We think this tool is amazing to use for the upcoming stripe package: flutter_stripe. But we consider this an obstacle for using it with our docs.

Support for markdownlint control comments

Hello, loving docs.page so far and already using it for my project!

I do have one request which is to support markdownlint control comments such as:

<!-- markdownlint-disable -->

or

<!-- markdownlint-restore -->

While trying to utilize the Tabs component for example, this is useful to wrap the content of the inner TabItem content which gets linted/formatted and breaks markdown styling as it attempts to get HTML-formatted.

Currently when attempting to use these control comments you get a broken page (at least with docs.page/preview).

Issues with 404 page.

  • All quick links to docs.page docs are incorrect.
  • The โ†Go to docs.page link - shouldn't this go to the root documentation for the current repository?
  • The report an issue. link - shouldn't this be reporting an issue on the current repository - rather than on docs.page
  • No page title
  • UI mode selector appears twice:
    image

Header styling

More a nit picking than anything but GH H1s and H2s also add a horizontal line underneath which seems to break up the content a bit better:

docs.page:

image

vs GH:

image

[feat] custom domains

Custom domains were working via a proxy, however we ran into some (semi-expected) issues:

  • Since pages are built statically, the href is a static value based on the properties of the basic path.
  • We assumed that if you have a custom domain setup, you will only use a custom domain and not the docs.page generation.
  • The URL for a ref was a bit odd, e.g. https://melos.io/~docs-updates/commands/bootstrap

Feature/configuration request/question: Spacing between `Image` and its `caption`.

Configure Image Caption Spacing

Is it possible to configure the spacing between Image and its caption?
If so, how? If not, is it possible to introduce the capability?

The spacing is very large now, I would prefer it to be much smaller.

image

Reproduction docs repo:

Example can be seen here: https://docs.page/rydmike/docs_page_test/another_page

Here is a test reproduction repo: https://github.com/rydmike/docs_page_test
and site: https://docs.page/rydmike/docs_page_test

Having docs.json config file:

{
    "name": "DocsPageTests",
    "favicon": "/images/favicon.png",
    "logo": "/images/logo.png",
    "logoDark": "/images/logo.png",
    "theme": "#0x29B6F6",
    "zoomImages": "true",
    "noindex": "false",
    "sidebar": [
        ["Welcome",
            [
                ["Intro","/"],
                ["More intro", "/more_intro"]
            ]
        ],
        ["Zoom image", "/another_page"]
    ],
    "navigation": [
        ["Intro","/"],
        ["More intro", "/more_intro"],
        ["Package", "https://pub.dev/packages/flex_color_scheme"],
        ["Playground", "https://rydmike.com/flexcolorscheme/themesplayground-v5"]
    ]
}

add missing docs for new features

as well as the move to remix we added a bunch of features that require documentation, not limited to:

  • live preview mode
  • locales
  • typedoc cli

Issue with: `favicon`

Unable to use a custom favicon

I have tried to get a custom favicon to show up, but have been unable to do so. Either the feature is broken, or I need more advice.

  • Tried repo relative link to used favicon.png
  • Tried absolute URL link to used favicon.png

In neither case have I been able to produce a favicon.
The used favicon is a copy of one that works when page/app is published elsewhere.

Reproduction docs repo:

Here is a test reproduction repo: https://github.com/rydmike/docs_page_test
and site: https://docs.page/rydmike/docs_page_test

No custom favicon is shown, the logos works fine though.

Having docs.json config file:

{
    "name": "DocsPageTests",
    "favicon": "/images/favicon.png",
    "logo": "/images/logo.png",
    "logoDark": "/images/logo.png",
    "theme": "#0x29B6F6",
    "zoomImages": "true",
    "noindex": "false",
    "sidebar": [
        ["Welcome",
            [
                ["Intro","/"],
                ["More intro", "/more_intro"]
            ]
        ],
        ["Zoom image", "/another_page"]
    ],
    "navigation": [
        ["Intro","/"],
        ["More intro", "/more_intro"],
        ["Package", "https://pub.dev/packages/flex_color_scheme"],
        ["Playground", "https://rydmike.com/flexcolorscheme/themesplayground-v5"]
    ]
}

image

Fix documentation links

Learn more buttons on the home page 404'ing:

image

Most of the sidebar links on docs are 404'ing:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.