diff --git a/.gitattributes b/.gitattributes index a8a7839..6313b56 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ * text=auto eol=lf -install.sh text eol=lf diff --git a/Cargo.toml b/Cargo.toml index 8b1e61a..99ff111 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "texforge" -version = "0.1.0" +version = "0.2.0" edition = "2021" rust-version = "1.75" description = "Self-contained LaTeX to PDF compiler CLI" @@ -31,11 +31,16 @@ walkdir = "2.5" dirs = "6.0" # HTTP client (template downloads) -reqwest = { version = "0.13", features = ["blocking"] } +reqwest = { version = "0.13", features = ["blocking", "json"] } -# Archive extraction (GitHub tarballs) +# Archive extraction (GitHub tarballs + tectonic zip on Windows) flate2 = "1.1" tar = "0.4" +zip = { version = "2", default-features = false, features = ["deflate"] } + +# Mermaid diagram rendering +mermaid-rs-renderer = { version = "0.2", default-features = false } +resvg = "0.46" [dev-dependencies] tempfile = "3.8" diff --git a/README.md b/README.md index 06c9a94..db46e88 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,19 @@ Self-contained LaTeX to PDF compiler — one curl, zero friction. No TeX Live, n ### Quick install (recommended) +**Linux / macOS:** + ```bash curl -fsSL https://raw.githubusercontent.com/JheisonMB/texforge/main/install.sh | sh ``` -This downloads and installs both `texforge` and `tectonic` (the LaTeX engine). Nothing else needed. No Rust toolchain required. +**Windows (PowerShell):** + +```powershell +irm https://raw.githubusercontent.com/JheisonMB/texforge/main/install.ps1 | iex +``` + +This downloads and installs `texforge`. No Rust toolchain required. Tectonic (the LaTeX engine) is installed automatically on first build. You can customize the install: @@ -29,17 +37,18 @@ VERSION=0.1.0 curl -fsSL https://raw.githubusercontent.com/JheisonMB/texforge/ma INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/JheisonMB/texforge/main/install.sh | sh ``` +```powershell +# Pin a specific version (PowerShell) +$env:VERSION="0.1.0"; irm https://raw.githubusercontent.com/JheisonMB/texforge/main/install.ps1 | iex +``` + ### Via cargo ```bash cargo install texforge ``` -**Note:** This only installs texforge. You also need tectonic for compilation: - -```bash -cargo install tectonic -``` +Tectonic (the LaTeX engine) is installed automatically on first build. No extra steps needed. Available on [crates.io](https://crates.io/crates/texforge). @@ -72,6 +81,9 @@ texforge fmt # Build to PDF texforge build + +# Remove build artifacts +texforge clean ``` --- @@ -82,11 +94,14 @@ texforge build |---|---| | `texforge new ` | Create new project from template | | `texforge new -t