cjm-markdown-decompose-core
A Markdown decomposition core for context graphs: parses Markdown content (frontmatter, structure, and [[wiki-links]]) into provenance-carrying graph nodes and edges. First source = the ecosystem's own memory/decision files; generalizes to any Markdown corpus.
Modules
cjm_markdown_decompose_core.__init__cjm_markdown_decompose_core.extract— Map parsed Markdown onto dev-graph-schema nodes (coarse tier).cjm_markdown_decompose_core.ingest— Flatten decomposed notes into graph elements for idempotent extension.cjm_markdown_decompose_core.parse— Schema-free Markdown parsing (stdlib + PyYAML).cjm_markdown_decompose_core.project— Projections from the decomposed content back out to files.cjm_markdown_decompose_core.relations— Per-source-type relationship harvesting from parsed Markdown.cjm_markdown_decompose_core.sections— Decompose a Markdown body into ordered Section nodes (the navigable unit).
API
cjm_markdown_decompose_core.extract
note_from_filefunction — Read a Markdown file and map it to a coarseNoteNode.note_from_parsedfunction — Build a coarseNoteNodefrom already-parsed Markdown.note_from_textfunction — Parse + map in one step from in-memory text (hashes the UTF-8 bytes).note_type_fromfunction — Read the memory category frommetadata.type(None when absent).slug_fromfunction — Derive the stable slug: frontmatternameif present, else the path.title_fromfunction — Derive a display title: explicit frontmattertitle, else the slug titleized.
cjm_markdown_decompose_core.ingest
corpus_graph_elementsfunction — Collect notes into the node + edge wire-dict listsextend_graphexpects.
cjm_markdown_decompose_core.parse
ParsedMarkdownclass — The structural decomposition of one Markdown document.extract_headingsfunction — Extract ATX headings (#..######) as (level, text) pairs.extract_wiki_linksfunction — Extract[[wiki-link]]targets from the body, de-duplicated, order-preserved.fenced_code_spansfunction — Locate fenced code blocks (``` / ~~~) as character spans of the body.find_headingsfunction — The body's ATX heading matches, skipping every line inside a fenced code block.parse_frontmatterfunction — Parse frontmatter YAML into a dict (empty dict when absent).parse_markdownfunction — Parse a Markdown document into frontmatter + body + wiki-links + headings.split_frontmatterfunction — Split a leading----delimited YAML frontmatter block from the body.strip_codefunction — Blank out fenced + inline code spans (replaced with a space, length-agnostic).
cjm_markdown_decompose_core.project
first_sentencefunction — A deterministic terse hook: the description's first sentence, capped.note_index_linefunction — Render one index line from a note's frontmatter-derived fields.note_text_from_graph_nodesfunction — Reconstruct a note's file text FROM the graph (frontmatter_raw + ordered raw spans).note_view_from_graph_nodefunction — Reconstruct an index-relevantNoteNodefrom a queried graph node.render_memory_indexfunction — Render aMEMORY.mdindex: notes grouped by category, one line each.render_memory_index_from_graph_nodesfunction — Render the memory index FROM queried graph nodes (the self-hosting path).render_note_textfunction — Reassemble a note's exact file text from its verbatim parts (lossless mode).render_onboarding_surfacefunction — Render the onboarding surface: orientation + how-to-query + resident PUSH core + landmark map + how-to-pull.
cjm_markdown_decompose_core.relations
NoteRelationsclass — The harvested relationship signals for one note (beyond[[wiki-links]]).detect_profilefunction — Detect the source-type profile from the frontmatter shape.harvest_aliasesfunction — Harvestaliases(old URLs) -> bare permalinks (alternate identities).harvest_categoriesfunction — Harvestcategories-> normalized Topic keys (the thematic-clustering facet).harvest_cross_post_linksfunction — Harvest/posts/...markdown links -> (permalink, section anchor) pairs.harvest_relationsfunction — Harvest a note's relationships using its (detected or given) source profile.harvest_series_linksfunction — Harvest/series/...markdown links -> series keys (the membership signal).normalize_permalinkfunction — Reduce a post link to its bare permalink — the path AFTERposts/.slugifyfunction — Normalize a category/tag to a stable key (lowercased, separators collapsed).
cjm_markdown_decompose_core.sections
decompose_sectionsfunction — Decompose a body into orderedSectionNodes (heading-delimited).heading_anchorfunction — Slugify a heading to its anchor — the Pandoc/Quarto auto-identifier shape.
Dependencies
Depends on: cjm-context-graph-layer, cjm-context-graph-primitives, cjm-dev-graph-schema, pyyaml
Used by: cjm-context-graph-projection, cjm-notebook-decompose-core
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cjm_markdown_decompose_core-0.0.12.tar.gz.
File metadata
- Download URL: cjm_markdown_decompose_core-0.0.12.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fdf6fd12f601c50c7f693bada43d9728e110b0ad2bc2915324472c8000ae58d
|
|
| MD5 |
986ef58bd37e337c84a3b9d818279658
|
|
| BLAKE2b-256 |
27bedc9df9375eebb7c64ef19b14dc6e1b8e9bd73392c13c1ee8ee38252ad41c
|
File details
Details for the file cjm_markdown_decompose_core-0.0.12-py3-none-any.whl.
File metadata
- Download URL: cjm_markdown_decompose_core-0.0.12-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38c29fc312f19cd6c307854a0c4f7f378467cfd99afb30dbbb2e72f59f351d8c
|
|
| MD5 |
ccf118d37f6c320a360d0b1ed0596423
|
|
| BLAKE2b-256 |
2103612c46ef18f8b0be665986278bf2979d9b32d24e1a3c2d3af535f1fe2604
|