summaryrefslogtreecommitdiffstats
path: root/rust/wolfree_patch_libredirect/src/main.rs
blob: 907dc3685da98e595d01cadd84ab0ee31cf859cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* SPDX-License-Identifier: AGPL-3.0-or-later */

//! Customize Wolfree instances to suit Libredirect.

#![allow(clippy::blanket_clippy_restriction_lints)]
#![allow(clippy::implicit_return)]
#![allow(clippy::question_mark_used)]

use std::error;
use std::fs;

/// By default, the main function do nothing as most Wolfree users do not use Libredirect.
#[allow(unreachable_code)]
fn main() -> Result<(), Box<dyn error::Error>> {
    // Remove the following line to make the instances Libredirect-compatible.
    return Ok(());
    // Remove the previous line to make the instances Libredirect-compatible.

    // Disable the entrypoint of the JavaScript modules.
    fs::write(
        "./docusaurus/static/ajax/libs/wolfree/2023.8.31/js/entrypoint.js",
        "export default () => {};"
    )?;

    fs::write(
        "./docusaurus/wolfree.config.js",
        "module.exports = { config: { libredirect: true } };"
    )?;

    fs::write(
        "./docusaurus/static/instances.json",
        include_str!("./docusaurus/static/instances.json")
    )?;

    fs::write("./docusaurus/docs/index.mdx", include_str!("./docusaurus/docs/index.mdx"))?;
    fs::write("./docusaurus/docs/mirror.mdx", include_str!("./docusaurus/docs/mirror.mdx"))?;
    fs::write("./docusaurus/docs/source.mdx", include_str!("./docusaurus/docs/source.mdx"))?;

    Ok(())
}