git-gemini-forge 0.4.0

A simple Gemini server that serves a read-only view of public repositories from a Git forge.
use crate::network::responses::*;
use super::clean;
use urlencoding::encode as encode_uri_component;

/// Creates an internal page link in Gemtext for the given branch.
pub fn branch_link(repo: &Repo, branch: &Branch) -> String {
	// Replace space with "_"
	let username_clean: String = clean(&repo.owner.login);
	let username_link = encode_uri_component(&username_clean);

	let repo_link = encode_uri_component(&repo.name);

	let name_link = encode_uri_component(&branch.name);
	let branch_name = clean(&branch.name);

	let icon: &str;
	if branch.name == repo.default_branch {
		icon = "🕊️";
	} else {
		icon = "🎋";
	}

	return format!("=> /{username_link}/{repo_link}/src/branch/{name_link} {icon} {branch_name}");
}