init projects
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
# mkdocs-schematic-footprint-viewer
|
||||
|
||||
A Zensical/Python-Markdown extension that renders an interactive schematic and footprint viewer in Markdown.
|
||||
|
||||
Use this shortcode anywhere in Markdown and pass the JSON file at the call site:
|
||||
|
||||
```md
|
||||
{% schematic-footprint json="files/VL53L0X/VL53L0X_merged.json" %}
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install mkdocs-schematic-footprint-viewer
|
||||
```
|
||||
|
||||
For local development:
|
||||
|
||||
```bash
|
||||
pip install -e ".[test]"
|
||||
```
|
||||
|
||||
## Zensical Configuration
|
||||
|
||||
Zensical's public plugin/module API is still evolving, so this package integrates through the stable Python-Markdown extension path that Zensical supports.
|
||||
|
||||
Add the extension to `zensical.toml`:
|
||||
|
||||
```toml
|
||||
[project.markdown_extensions.schematic_footprint_viewer]
|
||||
default_json = "merged.json"
|
||||
```
|
||||
|
||||
Then use the shortcode in Markdown:
|
||||
|
||||
```md
|
||||
{% schematic-footprint json="files/VL53L0X/VL53L0X_merged.json" %}
|
||||
```
|
||||
|
||||
Run Zensical:
|
||||
|
||||
```bash
|
||||
zensical serve
|
||||
```
|
||||
|
||||
or:
|
||||
|
||||
```bash
|
||||
zensical build
|
||||
```
|
||||
|
||||
## Shortcode Options
|
||||
|
||||
The JSON path belongs in the Markdown shortcode:
|
||||
|
||||
```md
|
||||
{% schematic-footprint json="merged.json" %}
|
||||
```
|
||||
|
||||
`src` is also accepted as an alias:
|
||||
|
||||
```md
|
||||
{% schematic-footprint src="files/MP1584/MP1584_merged.json" %}
|
||||
```
|
||||
|
||||
You can override the box dimensions per shortcode:
|
||||
|
||||
```md
|
||||
{% schematic-footprint json="merged.json" width="24rem" height="20rem" %}
|
||||
```
|
||||
|
||||
## Zensical Configuration With Options
|
||||
|
||||
These settings define defaults for every viewer:
|
||||
|
||||
```toml
|
||||
[project.markdown_extensions.schematic_footprint_viewer]
|
||||
default_json = "merged.json"
|
||||
width = "15rem"
|
||||
height = "13rem"
|
||||
konva_url = "https://unpkg.com/konva@9/konva.min.js"
|
||||
```
|
||||
|
||||
If you keep `konva.min.js` locally in your built site, point `konva_url` to that file:
|
||||
|
||||
```toml
|
||||
[project.markdown_extensions.schematic_footprint_viewer]
|
||||
konva_url = "konva.min.js"
|
||||
```
|
||||
|
||||
If your `zensical.toml` already has plugins, keep them separate. For example:
|
||||
|
||||
```toml
|
||||
[project]
|
||||
plugins = [
|
||||
{ search = {} },
|
||||
{ badges = {} },
|
||||
{ document-dates = { position = "top", type = "timeago", exclude = [
|
||||
"index.md",
|
||||
"blog/*",
|
||||
] } },
|
||||
]
|
||||
|
||||
[project.markdown_extensions.schematic_footprint_viewer]
|
||||
default_json = "merged.json"
|
||||
width = "15rem"
|
||||
height = "13rem"
|
||||
```
|
||||
|
||||
Do not add this package to `plugins` in `zensical.toml`; use `markdown_extensions` as shown above.
|
||||
|
||||
## Output
|
||||
|
||||
The shortcode is replaced during Markdown rendering with a scoped viewer containing two Konva canvases: one for PCB/footprint data and one for schematic data. The viewer fetches the JSON path passed in Markdown.
|
||||
Reference in New Issue
Block a user