Skip to content

Commit

Permalink
Implement svg renderer (#22)
Browse files Browse the repository at this point in the history
  • Loading branch information
j178 authored Feb 11, 2025
1 parent 6d689b0 commit a59b4cc
Show file tree
Hide file tree
Showing 6 changed files with 515 additions and 14 deletions.
7 changes: 7 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,22 @@ prettytable = "0.10.0"
reqwest = { version = "0.12.0", features = ["json", "deflate", "brotli"] }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
svg = "0.18.0"
tokio = { version = "1.28.1", features = ["full"] }
url = "2.3.1"

[dependencies]
anyhow.workspace = true
http.workspace = true
base64.workspace = true
chrono.workspace = true
futures.workspace = true
http.workspace = true
log.workspace = true
prettytable.workspace = true
reqwest.workspace = true
serde.workspace = true
serde_json.workspace = true
futures.workspace = true
base64.workspace = true
svg.workspace = true

[profile.release]
lto = true
Expand Down
9 changes: 7 additions & 2 deletions cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use anyhow::{anyhow, bail, Result};
use git_testament::git_testament;
use tokio::join;

use github_contrib_stats::render::SvgRenderer;
use github_contrib_stats::{github, render::MarkdownRenderer, render::Render};

git_testament!(TESTAMENT);
Expand Down Expand Up @@ -70,15 +71,19 @@ async fn main() -> Result<()> {
buf = std::fs::read_to_string(output)?;
}
let mut part_buf = String::new();
render.render_created_repos(&mut part_buf, &created_repos);
render.render_created_repos(&mut part_buf, &created_repos, username);
replace_template(&mut buf, "created_repos", &part_buf)?;
part_buf.clear();
render.render_contributed_repos(&mut part_buf, &contributed_repos, username);
replace_template(&mut buf, "contributed", &part_buf)?;

std::fs::write(output, buf)?;
} else if output.ends_with(".svg") {
todo!("SVG output is not implemented yet")
let render = SvgRenderer::new();
let mut buf = String::new();
// render.render_contributed_repos(&mut buf, &contributed_repos, username);
render.render_created_repos(&mut buf, &created_repos, username);
std::fs::write(output, buf)?;
} else {
bail!("Unknown output format: {}", output);
}
Expand Down
2 changes: 1 addition & 1 deletion cloudflare/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ pub async fn main(req: Request, env: Env, _ctx: Context) -> worker::Result<Respo
.map_err(to_err)?;

let mut buf = String::new();
SvgRenderer::new().render_created_repos(&mut buf, &repos);
SvgRenderer::new().render_created_repos(&mut buf, &repos, username);
Response::ok(buf)
})
.get_async("/contributed", |req, _ctx| async move {
Expand Down
Loading

0 comments on commit a59b4cc

Please sign in to comment.