git-gemini-forge 0.4.0

A simple Gemini server that serves a read-only view of public repositories from a Git forge.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::network::responses::*;
use super::clean;
use urlencoding::encode as encode_uri_component;

/// Creates an internal page link in Gemtext for the given repo page.
pub fn repo_link(repo: &Repo) -> 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 repo_name = clean(&repo.name);

	// Create Gemini link
	return format!("=> /{username_link}/{repo_link} {username_clean}/{repo_name}");
}