Code Monkey home page Code Monkey logo

catalog's Introduction

MkDocs

Project documentation with Markdown

PyPI Version Build Status Coverage Status

MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file. It is designed to be easy to use and can be extended with third-party themes, plugins, and Markdown extensions.

Please see the Documentation for an introductory tutorial and a full user guide.

Features

  • Build static HTML files from Markdown files.
  • Use Plugins and Markdown Extensions to enhance MkDocs.
  • Use the built-in themes, third party themes or create your own.
  • Publish your documentation anywhere that static files can be served.
  • Much more!

Support

If you need help with MkDocs, do not hesitate to get in contact with us!

  • For questions and high-level discussions, use Discussions on GitHub.
    • For small questions, a good alternative is the Chat room on Gitter/Matrix.
  • To report a bug or make a feature request, open an Issue on GitHub.

Please note that we may only provide support for problems/questions regarding core features of MkDocs. Any questions or bug reports about features of third-party themes, plugins, extensions or similar should be made to their respective projects.
But, such questions are not banned from the chat room.

Make sure to stick around to answer some questions as well!

Links

Contributing to MkDocs

The MkDocs project welcomes, and depends on, contributions from developers and users in the open source community. Please see the Contributing Guide for information on how you can help.

Code of Conduct

Everyone interacting in the MkDocs project's codebases, issue trackers, and discussion forums is expected to follow the PyPA Code of Conduct.

License

BSD-2-Clause

catalog's People

Contributors

adrienbrignon avatar axtarov avatar bharel avatar daxartio avatar djpugh avatar eddyluten avatar fkromer avatar foosel avatar fredzinelli avatar garryod avatar github-actions[bot] avatar jakubandrysek avatar jhidding avatar jonasdoesthings avatar landmaj avatar ldeluigi avatar leonardehrenfried avatar monosans avatar oprypin avatar pawamoy avatar realtimeprojects avatar six-two avatar squidfunk avatar tombreit avatar unverbuggt avatar wasilewm 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  avatar  avatar

catalog's Issues

Update project: markdownmermaid

Update details:

markdownmermaid is no longer maintained and should be replaced with mermaid2

  • Project Name: markdownmermaid

Replace with mermaid2

Additional context:

The plugin is no longer maintained, and has bugs which means it no longer works.

Suggested plugin config for Material for MkDocs will always fail

Configuration Change:

theme: material
plugins:
  - info
  - offline
  - search
  - social
  - tags

The info plugin will always terminate the build, it is solely used for reproduction of issues. Also, the offline plugin should always be used with an environment variable, because it will switch off use_directory_urls and copy the search index to a JavaScript file.

Suggested change

theme: material
plugins:
  - search
  - social
  - tags

Add project: mkdocs-open-in-new-tab

Project details:

Additional context:

This plugin adds JS code to open outgoing links and PDFs in a new tab.

The automatic opening of links in a new tab is a common feature of modern websites. It is also a good practice for accessibility. However, it is not a default behavior of Markdown. This plugin adds a JavaScript code to your website that opens external links and PDFs in a new tab.

Look at the demo.

pymdownx block extensions

Running pip install $(mkdocs get-deps) in a project that lists pymdownx.blocks.admonition, etc., gives the following warnings:

WARNING -  Extension 'pymdownx.blocks.admonition' is not provided by any registered project
WARNING -  Extension 'pymdownx.blocks.definition' is not provided by any registered project
WARNING -  Extension 'pymdownx.blocks.details' is not provided by any registered project
WARNING -  Extension 'pymdownx.blocks.html' is not provided by any registered project
WARNING -  Extension 'pymdownx.blocks.tab' is not provided by any registered project

I suppose we just have to add these extensions to pymdownx in our data.

Make github pages hosted page of this readme file?

I feel like it could be beneficial to setup a workflow that would automatically publish the readme file as a MkDocs-based site on GitHub.
The main benefit I could see here is the fact of a (probably) better search to find plugins, extensions, themes, etc. in it, which with current options (GitHub's repo search or simple Ctrl+F) is not as optimal I would say.

Tho, this is by no means something that has to be done here... Just an idea that could be considered.

Rename this repository to "catalog"?

Hi.
I'm thinking maybe to rename this repository from "best-of-mkdocs" to "catalog". That way:

  • People will be less intimidated to add a project (we want all projects here, not just "best")

  • I'm gonna be using it as a catalog from mkdocs/mkdocs#3205

No other change necessary other than renaming

Add project: markdown-docs is a GitHub Actions based on MkDocs

Project details:
ldeluigi/markdown-docs is my GitHub Action powered by mkdocs and mkdocs-material to allow straightforward usage and integration of mkdocs with GitHub Actions.
The rationale is zero-configuration-needed, you specify a folder as source of markdown files and another folder as destination, and it works just fine like that. Optionally someone can use the same action with some customization.

The action also implies support of some markdown extensions (see readme), and is also published as a Docker image on Docker Hub so that it can be used in other CI providers.

  • Project Name: markdown-docs
  • Github URL: https://github.com/ldeluigi/markdown-docs
  • Category: idk maybe a new one called something like "Automation Machinery" or Other
  • License: MIT
  • Package Managers: github-actions:ldeluigi/markdown-docs github-packages:ghcr.io/ldeluigi/markdown-docs dockerhub:deloo/markdown-docs

Additional context:
This action can be used in a minimal workflow even in this project, thus solving issue #174 with zero/minimal configuration:

See the usage example: https://github.com/marketplace/actions/markdown-docs#usage

Example:

name: GitHub Documentation

on:
  push:
    branches:
      - main

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: pages
  cancel-in-progress: false

jobs:
  github-pages:
    name: Build and deploy documentation
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Checkout ๐Ÿ›Ž๏ธ
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # To enable the git based extensions that lookup history
      - name: Build documentation ๐Ÿ“š
        uses: ldeluigi/markdown-docs@v0
        with:
          src: .
          dst: ./gh-pages
          title: MkDocs Catalog
      - name: Setup Pages
        uses: actions/configure-pages@v4
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./gh-pages
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

How to add project with plugins collection?

Hi,
I'm the author of mkdocs-publisher project that contains multiple plugins. Some of them can be used separately, but some of them can work in cooperation. It's easier to test and maintain, especially when all of them are related to the one goal or personal web page/blog publishing. I want to add this project to this repository, but I'm not sure how to do it "the right way". Adding it as a mkdosc-publisher makes no sense, since there is no proper category for it. The close one is templates, since templates can contain multiple plugins, but it's not a template. The other idea is to add each of the plugins separately, but then I have to link all of them to the same repository, etc. If this is "the way" should I create a separate pull request or do a single one (it's described to do a one per plugin, but since it's a collection, should the same rule apply?). Please advise.

Referencing plugins hosted on gitlab?

Hello,

I recently created a plugin for mkdocs, but it currently is hosted on gitlab: mkdocs-adresses. I was wondering if I had to transfer it to github to see it potentially added to the catalog of mkdocs plugins?

Regards,
Fred

Add project: mkdocs-entangled

Project details:

  • Project Name: mkdocs-entangled
  • Github URL: github.com/entangled/mkdocs-plugin
  • Category: Code execution, variables & templating
  • License: Apache 2
  • Package Managers: pypi:mkdocs-entangled-plugin

Additional context:

Entangled is a solution for Literate Programming, a technique in which the programmer writes a human narrative first, then implementing the program in code blocks.

Literate programming was introduced by Donald Knuth in 1984 and has since then found several surges in popularity. One thing holding back the popularity of literate programming is the lack of maintainability under increasing program complexity. Entangled solves this issue by offering a two-way synchronisation mechanism. You can edit and debug your code as normal in your favourite IDE or text editor. Entangled will make sure that your Markdown files stay up-to-date with your code and vice-versa. Because Entangled works with Markdown, you can use it with most static document generators.

The mkdocs-entangled plugin integrates Entangled into MkDocs' event loop, and includes a module for building artifacts using snippets of makefiles.

Use this as a mapping between plugin/extension name and PyPI name?

Consider this:

I know that I have

- plugins:
    include-markdown

Now I just need to install whatever package contains that plugin.

I can easily find this in this config, because the name happens to match:

https://github.com/pawamoy/best-of-mkdocs/blob/6ca7c8801cfda1b422e225a74f391c8680289a97/projects.yaml#L811-L813

So then I know to pip install mkdocs-include-markdown-plugin.

But, can we ensure that this actually always matches?
Can we also distinguish between extensions and plugins? Maybe something like below - one of mkdocs_plugin and markdown_extension:

 - name: include-markdown 
   mkdocs_plugin: include-markdown
   github_id: mondeja/mkdocs-include-markdown-plugin 
   pypi_id: mkdocs-include-markdown-plugin 

Inspired by https://github.com/mkdocstrings/regressions/blob/master/plugin_map.yml ๐Ÿ˜‰

Should we remove projects that do not work with latest Markdown/MkDocs and are not maintained?

For example, mkdocs-docskimmer is currently broken (does not work with latest MkDocs), and based on the author's answer it likely won't be fixed. So I wonder if we should simply remove it from the catalog, since it will only waste the time of users trying it.

Same goes for every other project listed in the catalog. I'm of course not asking that someone actually tries every project: we can simply act on a project when someone finds out it doesn't work with latest Markdown/MkDocs and isn't maintained.

Even better would be to run automated tests in CI:

  • can the project be installed (no dependency conflict) alongside latest mkdocs/markdown?
  • can the project be enabled in mkdocs.yml, as advertised, without errors?
  • can the project be used without errors? This one is way more involved. We wouldn't check if things are "correctly" rendered (we leave that to the project's own tests), only if features can be used without hard errors.

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.