chore: Issue closure 125 cleanup
This commit is contained in:
104
capabilities/markitect-content/README.md
Normal file
104
capabilities/markitect-content/README.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# MarkiTect Content Capability
|
||||
|
||||
A self-contained capability for parsing and analyzing MarkdownMatters content without frontmatter and tailmatter zones.
|
||||
|
||||
## Overview
|
||||
|
||||
The markitect-content capability provides content extraction and statistics functionality for MarkdownMatters documents. It cleanly separates main document content from metadata zones (frontmatter/tailmatter) and provides comprehensive content analysis.
|
||||
|
||||
## Features
|
||||
|
||||
- **Content Extraction**: Extract main markdown content without frontmatter/tailmatter zones
|
||||
- **Content Statistics**: Calculate word count, line count, paragraph count, and character count
|
||||
- **CLI Commands**: Direct command-line access to content operations
|
||||
- **Contentmatter Preservation**: Preserves inline metadata (MMD key-value pairs) as part of content
|
||||
|
||||
## API
|
||||
|
||||
### Core Classes
|
||||
|
||||
#### `ContentParser`
|
||||
Main parser class for content extraction and analysis.
|
||||
|
||||
```python
|
||||
from markitect_content import ContentParser
|
||||
|
||||
parser = ContentParser()
|
||||
|
||||
# Extract content without matter zones
|
||||
content = parser.extract_content(text)
|
||||
|
||||
# Calculate content statistics
|
||||
stats = parser.calculate_stats(content)
|
||||
```
|
||||
|
||||
#### `ContentStats`
|
||||
Statistics data structure with content metrics.
|
||||
|
||||
```python
|
||||
from markitect_content import ContentStats
|
||||
|
||||
# Stats object contains:
|
||||
# - word_count: int
|
||||
# - line_count: int
|
||||
# - paragraph_count: int
|
||||
# - character_count: int
|
||||
|
||||
# Convert to dictionary
|
||||
stats_dict = stats.to_dict()
|
||||
```
|
||||
|
||||
### CLI Commands
|
||||
|
||||
#### `content-get`
|
||||
Extract content without frontmatter and tailmatter.
|
||||
|
||||
```bash
|
||||
markitect content-get --file document.md
|
||||
```
|
||||
|
||||
#### `content-stats`
|
||||
Calculate content statistics.
|
||||
|
||||
```bash
|
||||
markitect content-stats --file document.md --format json
|
||||
markitect content-stats --file document.md --format text
|
||||
```
|
||||
|
||||
## Content Processing Rules
|
||||
|
||||
1. **Frontmatter Removal**: Removes YAML frontmatter blocks (`---...---`)
|
||||
2. **Tailmatter Removal**: Removes tailmatter blocks (````yaml tailmatter...````)
|
||||
3. **Contentmatter Preservation**: Keeps inline MMD key-value pairs
|
||||
4. **Content Statistics**: Counts are calculated on cleaned content only
|
||||
|
||||
## Installation
|
||||
|
||||
Install as an editable dependency in your MarkiTect environment:
|
||||
|
||||
```bash
|
||||
pip install -e capabilities/markitect-content/
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
Run the capability test suite:
|
||||
|
||||
```bash
|
||||
cd capabilities/markitect-content/
|
||||
pytest tests/
|
||||
```
|
||||
|
||||
## Compliance
|
||||
|
||||
This capability follows the ComposableRepositoryParadigm:
|
||||
- ✅ Src layout (PEP 660 compliant)
|
||||
- ✅ Unidirectional dependencies
|
||||
- ✅ Self-contained with own tests
|
||||
- ✅ Independent configuration
|
||||
- ✅ Clean API boundaries
|
||||
|
||||
## Dependencies
|
||||
|
||||
- click>=8.0.0 (for CLI commands)
|
||||
- pytest>=7.0.0 (dev dependency for testing)
|
||||
Reference in New Issue
Block a user