From ed6e5a3b1b73240ba21ec12cb9bfa5cf29b7881f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 25 Apr 2022 01:12:12 -0700 Subject: refactor(modules): move static mounts to modules --- src/modules/mod.rs | 1 + src/modules/static.rs | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 src/modules/static.rs (limited to 'src/modules') diff --git a/src/modules/mod.rs b/src/modules/mod.rs index bb822b3..fd856ff 100644 --- a/src/modules/mod.rs +++ b/src/modules/mod.rs @@ -21,4 +21,5 @@ pub mod random; pub mod remarks; pub mod search; pub mod sitemap; +pub mod r#static; pub mod uptime; diff --git a/src/modules/static.rs b/src/modules/static.rs new file mode 100644 index 0000000..07a7cb3 --- /dev/null +++ b/src/modules/static.rs @@ -0,0 +1,57 @@ +// This file is part of Locus . +// Copyright (C) 2022-2022 Fuwn +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 3. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// Copyright (C) 2022-2022 Fuwn +// SPDX-License-Identifier: GPL-3.0-only + +use crate::batch_mount; + +pub fn module(router: &mut windmark::Router) { + batch_mount!( + "files", + router, + ( + "/robots.txt", + "Crawler traffic manager, for robots, not humans", + "robots.txt" + ), + ("/favicon.txt", "This Gemini capsule's icon", "favicon.txt"), + ); + + batch_mount!( + "pages", + router, + ("/", "This Gemini capsule's homepage", "index"), + ("/contact", "Many ways to contact Fuwn", "contact"), + ("/donate", "Many ways to donate to Fuwn", "donate"), + ( + "/gemini", + "Information and resources for the Gemini protocol", + "gemini" + ), + ( + "/gopher", + "Information and resources for the Gopher protocol", + "gopher" + ), + ("/interests", "A few interests of Fuwn", "interests"), + ("/skills", "A few skills of Fuwn", "skills"), + ( + "/licensing", + "The licensing terms of this Gemini capsule", + "licensing" + ), + ); +} -- cgit v1.2.3