Expand description
§src2md Library
This crate can be used to:
- Collect all source/text files under given path and compile them into a Markdown file
- Restore original source files back from a generated Markdown file (requires
restorefeature) - Clone and process git repositories (requires
gitfeature) - Generate mdbook-compatible output (requires
mdbookfeature)
§Features
restore(default) - Enables restoring files from Markdown via--restoregit(default) - Enables git repository cloning support via--git <url>mdbook(default) - Enables mdbook format output via--mdbook <dir>
To use only the core bundling functionality without optional features:
src2md = { version = "0.1", default-features = false }§Default Exclusions
The following are always excluded by default:
- Hidden files and directories (starting with
.) - Lock files (package-lock.json, yarn.lock, Cargo.lock, etc.)
- Previous src2md output files
§Usage
§To generate a Markdown file:
use src2md::{Config, run_src2md};
use std::collections::HashSet;
use std::path::PathBuf;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let config = Config {
output_path: PathBuf::from("output.md"),
ignore_file: None,
specific_paths: HashSet::new(),
project_root: std::env::current_dir()?,
#[cfg(feature = "restore")]
restore_input: None,
#[cfg(feature = "restore")]
restore_path: None,
verbosity: 0,
fail_fast: true,
extensions: HashSet::new(),
#[cfg(feature = "git")]
git_url: None,
#[cfg(feature = "git")]
git_branch: None,
#[cfg(feature = "mdbook")]
mdbook_output: None,
};
run_src2md(config).await
}Re-exports§
pub use cli::Config;pub use extractor::extract_from_markdown;pub use filewalker::collect_files;pub use writer::MarkdownWriter;pub use writer::OUTPUT_MAGIC_BYTES;pub use writer::OUTPUT_MAGIC_HEADER;pub use git::ClonedRepo;pub use git::clone_repository;pub use git::repo_name_from_url;pub use mdbook::generate_mdbook;
Modules§
- cli
- extractor
- filewalker
- git
- Git repository cloning support.
- mdbook
- mdbook output format generation.
- utils
- writer
Functions§
- run_
src2md - Generate a Markdown file from source/text files
- run_
src2md_ on_ path - Generate a Markdown file from a specific directory path.