Skip to main content

A simple mkdocs plugin, enable to sort nav by setting "weight" in markdown metadata

Project description

mkdocs-nav-weight

A simple mkdocs plugin, enable to sort nav by setting "weight" in markdown metadata
I'm only sure it's runnable, not sure if it works (at least it does in my local docs). Only the compatibility of section, index and page has been considered.
mkdocs get nav first, and then reads markdown resource to page, so using this plugin means reading markdown source twice, which may introduce performance problems

Install

I don't know how to package, so let it be:

pip install git+https://github.com/shu307/mkdocs-nav-weight

mkdocs.yml

plugins:
  - search
  - mkdocs-nav-weight

Intro

A document tree like this:

│  bar.md
│  foo.md
│
├─have_index_folder
│  │  another.md
│  │  index.md
│  │
│  └─level2
│          another.md
│          bar.md
│          foo.md
│
└─no_index_folder
        alone.md

Markdown metadata like this:

Note, try not to forget the space between weight: and number, sometimes it causes bugs, I use mkdocs its own way to get metadata, and I'm not a proficient pythoner, so I don't know how to fix it.

foo.md
---
title: foo
weight: 4
---
...

bar.md  // no "weight", default = 0
---
title: bar
---
...

index.md 
---
title: index
weight: 3
---
...

another.md
---
title: another
weight: 1
---
...

alone.md
---
title: alone
weight: 2
---

Get a nav like this:

bar  // 0: no 'weight', default 0
No index folder  // 0: will not get weight from 'alone', so it's defalut 0
	alone  // 2
Have index folder  // 3: get from 'index'
	index  // 3: but as 0 in same level
    	Level2 // 0: no index, default 0
		bar // 0
		another // 1
		foo // 4
	another  // 1
foo  // 4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs-nav-weight-0.0.1.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

mkdocs_nav_weight-0.0.1-py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page