Link aggregation and post comments on ATProto!

Compare changes

Choose any two refs to compare.

+18 -1
.gitignore
··· 1 - /target 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: CC0-1.0 4 + 5 + # Generated by Cargo 6 + # will have compiled files and executables 7 + debug/ 8 + target/ 9 + 10 + # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries 11 + # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html 12 + Cargo.lock 13 + 14 + # These are backup files generated by rustfmt 15 + **/*.rs.bk 16 + 17 + # MSVC Windows builds of rustc generate these, which store debugging information 18 + *.pdb
+17
.tangled/workflows/reuse.yml
··· 1 + # SPDX-FileCopyrightText: 2025 FreshlyBakedCake 2 + # 3 + # SPDX-License-Identifier: MIT 4 + 5 + when: 6 + - event: ["push", "pull_request"] 7 + branch: ["main"] 8 + 9 + engine: nixery 10 + 11 + dependencies: 12 + nixpkgs: 13 + - reuse 14 + 15 + steps: 16 + - name: Check for REUSE compliance 17 + command: reuse lint
+4
Cargo.toml
··· 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: MIT 4 + 1 5 [package] 2 6 name = "footnotes" 3 7 version = "0.1.0"
-21
LICENSE.md
··· 1 - MIT License 2 - 3 - Copyright (c) 2025 Isaac Corbrey and contributors. 4 - 5 - Permission is hereby granted, free of charge, to any person obtaining a copy 6 - of this software and associated documentation files (the "Software"), to deal 7 - in the Software without restriction, including without limitation the rights 8 - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 - copies of the Software, and to permit persons to whom the Software is 10 - furnished to do so, subject to the following conditions: 11 - 12 - The above copyright notice and this permission notice shall be included in all 13 - copies or substantial portions of the Software. 14 - 15 - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 - SOFTWARE.
+121
LICENSES/CC0-1.0.txt
··· 1 + Creative Commons Legal Code 2 + 3 + CC0 1.0 Universal 4 + 5 + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 + HEREUNDER. 13 + 14 + Statement of Purpose 15 + 16 + The laws of most jurisdictions throughout the world automatically confer 17 + exclusive Copyright and Related Rights (defined below) upon the creator 18 + and subsequent owner(s) (each and all, an "owner") of an original work of 19 + authorship and/or a database (each, a "Work"). 20 + 21 + Certain owners wish to permanently relinquish those rights to a Work for 22 + the purpose of contributing to a commons of creative, cultural and 23 + scientific works ("Commons") that the public can reliably and without fear 24 + of later claims of infringement build upon, modify, incorporate in other 25 + works, reuse and redistribute as freely as possible in any form whatsoever 26 + and for any purposes, including without limitation commercial purposes. 27 + These owners may contribute to the Commons to promote the ideal of a free 28 + culture and the further production of creative, cultural and scientific 29 + works, or to gain reputation or greater distribution for their Work in 30 + part through the use and efforts of others. 31 + 32 + For these and/or other purposes and motivations, and without any 33 + expectation of additional consideration or compensation, the person 34 + associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 + is an owner of Copyright and Related Rights in the Work, voluntarily 36 + elects to apply CC0 to the Work and publicly distribute the Work under its 37 + terms, with knowledge of his or her Copyright and Related Rights in the 38 + Work and the meaning and intended legal effect of CC0 on those rights. 39 + 40 + 1. Copyright and Related Rights. A Work made available under CC0 may be 41 + protected by copyright and related or neighboring rights ("Copyright and 42 + Related Rights"). Copyright and Related Rights include, but are not 43 + limited to, the following: 44 + 45 + i. the right to reproduce, adapt, distribute, perform, display, 46 + communicate, and translate a Work; 47 + ii. moral rights retained by the original author(s) and/or performer(s); 48 + iii. publicity and privacy rights pertaining to a person's image or 49 + likeness depicted in a Work; 50 + iv. rights protecting against unfair competition in regards to a Work, 51 + subject to the limitations in paragraph 4(a), below; 52 + v. rights protecting the extraction, dissemination, use and reuse of data 53 + in a Work; 54 + vi. database rights (such as those arising under Directive 96/9/EC of the 55 + European Parliament and of the Council of 11 March 1996 on the legal 56 + protection of databases, and under any national implementation 57 + thereof, including any amended or successor version of such 58 + directive); and 59 + vii. other similar, equivalent or corresponding rights throughout the 60 + world based on applicable law or treaty, and any national 61 + implementations thereof. 62 + 63 + 2. Waiver. To the greatest extent permitted by, but not in contravention 64 + of, applicable law, Affirmer hereby overtly, fully, permanently, 65 + irrevocably and unconditionally waives, abandons, and surrenders all of 66 + Affirmer's Copyright and Related Rights and associated claims and causes 67 + of action, whether now known or unknown (including existing as well as 68 + future claims and causes of action), in the Work (i) in all territories 69 + worldwide, (ii) for the maximum duration provided by applicable law or 70 + treaty (including future time extensions), (iii) in any current or future 71 + medium and for any number of copies, and (iv) for any purpose whatsoever, 72 + including without limitation commercial, advertising or promotional 73 + purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 + member of the public at large and to the detriment of Affirmer's heirs and 75 + successors, fully intending that such Waiver shall not be subject to 76 + revocation, rescission, cancellation, termination, or any other legal or 77 + equitable action to disrupt the quiet enjoyment of the Work by the public 78 + as contemplated by Affirmer's express Statement of Purpose. 79 + 80 + 3. Public License Fallback. Should any part of the Waiver for any reason 81 + be judged legally invalid or ineffective under applicable law, then the 82 + Waiver shall be preserved to the maximum extent permitted taking into 83 + account Affirmer's express Statement of Purpose. In addition, to the 84 + extent the Waiver is so judged Affirmer hereby grants to each affected 85 + person a royalty-free, non transferable, non sublicensable, non exclusive, 86 + irrevocable and unconditional license to exercise Affirmer's Copyright and 87 + Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 + maximum duration provided by applicable law or treaty (including future 89 + time extensions), (iii) in any current or future medium and for any number 90 + of copies, and (iv) for any purpose whatsoever, including without 91 + limitation commercial, advertising or promotional purposes (the 92 + "License"). The License shall be deemed effective as of the date CC0 was 93 + applied by Affirmer to the Work. Should any part of the License for any 94 + reason be judged legally invalid or ineffective under applicable law, such 95 + partial invalidity or ineffectiveness shall not invalidate the remainder 96 + of the License, and in such case Affirmer hereby affirms that he or she 97 + will not (i) exercise any of his or her remaining Copyright and Related 98 + Rights in the Work or (ii) assert any associated claims and causes of 99 + action with respect to the Work, in either case contrary to Affirmer's 100 + express Statement of Purpose. 101 + 102 + 4. Limitations and Disclaimers. 103 + 104 + a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 + surrendered, licensed or otherwise affected by this document. 106 + b. Affirmer offers the Work as-is and makes no representations or 107 + warranties of any kind concerning the Work, express, implied, 108 + statutory or otherwise, including without limitation warranties of 109 + title, merchantability, fitness for a particular purpose, non 110 + infringement, or the absence of latent or other defects, accuracy, or 111 + the present or absence of errors, whether or not discoverable, all to 112 + the greatest extent permissible under applicable law. 113 + c. Affirmer disclaims responsibility for clearing rights of other persons 114 + that may apply to the Work or any use thereof, including without 115 + limitation any person's Copyright and Related Rights in the Work. 116 + Further, Affirmer disclaims responsibility for obtaining any necessary 117 + consents, permissions or other rights required for any use of the 118 + Work. 119 + d. Affirmer understands and acknowledges that Creative Commons is not a 120 + party to this document and has no duty or obligation with respect to 121 + this CC0 or use of the Work.
+18
LICENSES/MIT.txt
··· 1 + MIT License 2 + 3 + Copyright (c) <year> <copyright holders> 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 6 + associated documentation files (the "Software"), to deal in the Software without restriction, including 7 + without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 + copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the 9 + following conditions: 10 + 11 + The above copyright notice and this permission notice shall be included in all copies or substantial 12 + portions of the Software. 13 + 14 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 + LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 16 + EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 18 + USE OR OTHER DEALINGS IN THE SOFTWARE.
+6
README.md
··· 1 + <!-- 2 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 3 + 4 + SPDX-License-Identifier: MIT 5 + --> 6 + 1 7 # Footnotes 2 8 3 9 Footnotes is a platform providing link aggregation and post comments, built on
-14
footnotes_appview/.gitignore
··· 1 - # Generated by Cargo 2 - # will have compiled files and executables 3 - debug/ 4 - target/ 5 - 6 - # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries 7 - # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html 8 - Cargo.lock 9 - 10 - # These are backup files generated by rustfmt 11 - **/*.rs.bk 12 - 13 - # MSVC Windows builds of rustc generate these, which store debugging information 14 - *.pdb
+4
footnotes_appview/Cargo.toml
··· 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: MIT 4 + 1 5 [package] 2 6 name = "footnotes_appview" 3 7 version = "0.1.0"
+97
footnotes_appview/LEPTOS.md
··· 1 + <!-- 2 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 3 + 4 + SPDX-License-Identifier: MIT 5 + --> 6 + 7 + <picture> 8 + <source srcset="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_Solid_White.svg" media="(prefers-color-scheme: dark)"> 9 + <img src="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_RGB.svg" alt="Leptos Logo"> 10 + </picture> 11 + 12 + # Leptos Axum Starter Template 13 + 14 + This is a template for use with the [Leptos](https://github.com/leptos-rs/leptos) web framework and the [cargo-leptos](https://github.com/akesson/cargo-leptos) tool using [Axum](https://github.com/tokio-rs/axum). 15 + 16 + ## Creating your template repo 17 + 18 + If you don't have `cargo-leptos` installed you can install it with 19 + 20 + ```bash 21 + cargo install cargo-leptos --locked 22 + ``` 23 + 24 + Then run 25 + ```bash 26 + cargo leptos new --git https://github.com/leptos-rs/start-axum 27 + ``` 28 + 29 + to generate a new project template. 30 + 31 + ```bash 32 + cd footnotes_appview 33 + ``` 34 + 35 + to go to your newly created project. 36 + Feel free to explore the project structure, but the best place to start with your application code is in `src/app.rs`. 37 + Additionally, Cargo.toml may need updating as new versions of the dependencies are released, especially if things are not working after a `cargo update`. 38 + 39 + ## Running your project 40 + 41 + ```bash 42 + cargo leptos watch 43 + ``` 44 + 45 + ## Installing Additional Tools 46 + 47 + By default, `cargo-leptos` uses `nightly` Rust, `cargo-generate`, and `sass`. If you run into any trouble, you may need to install one or more of these tools. 48 + 49 + 1. `rustup toolchain install nightly --allow-downgrade` - make sure you have Rust nightly 50 + 2. `rustup target add wasm32-unknown-unknown` - add the ability to compile Rust to WebAssembly 51 + 3. `cargo install cargo-generate` - install `cargo-generate` binary (should be installed automatically in future) 52 + 4. `npm install -g sass` - install `dart-sass` (should be optional in future 53 + 5. Run `npm install` in end2end subdirectory before test 54 + 55 + ## Compiling for Release 56 + ```bash 57 + cargo leptos build --release 58 + ``` 59 + 60 + Will generate your server binary in target/release and your site package in target/site 61 + 62 + ## Testing Your Project 63 + ```bash 64 + cargo leptos end-to-end 65 + ``` 66 + 67 + ```bash 68 + cargo leptos end-to-end --release 69 + ``` 70 + 71 + Cargo-leptos uses Playwright as the end-to-end test tool. 72 + Tests are located in end2end/tests directory. 73 + 74 + ## Executing a Server on a Remote Machine Without the Toolchain 75 + After running a `cargo leptos build --release` the minimum files needed are: 76 + 77 + 1. The server binary located in `target/server/release` 78 + 2. The `site` directory and all files within located in `target/site` 79 + 80 + Copy these files to your remote server. The directory structure should be: 81 + ```text 82 + footnotes_appview 83 + site/ 84 + ``` 85 + Set the following environment variables (updating for your project as needed): 86 + ```sh 87 + export LEPTOS_OUTPUT_NAME="footnotes_appview" 88 + export LEPTOS_SITE_ROOT="site" 89 + export LEPTOS_SITE_PKG_DIR="pkg" 90 + export LEPTOS_SITE_ADDR="127.0.0.1:3000" 91 + export LEPTOS_RELOAD_PORT="3001" 92 + ``` 93 + Finally, run the server binary. 94 + 95 + ## Licensing 96 + 97 + This template itself is released under the Unlicense. You should replace the LICENSE for your own application with an appropriate license if you plan to release it publicly.
-24
footnotes_appview/LICENSE
··· 1 - This is free and unencumbered software released into the public domain. 2 - 3 - Anyone is free to copy, modify, publish, use, compile, sell, or 4 - distribute this software, either in source code form or as a compiled 5 - binary, for any purpose, commercial or non-commercial, and by any 6 - means. 7 - 8 - In jurisdictions that recognize copyright laws, the author or authors 9 - of this software dedicate any and all copyright interest in the 10 - software to the public domain. We make this dedication for the benefit 11 - of the public at large and to the detriment of our heirs and 12 - successors. We intend this dedication to be an overt act of 13 - relinquishment in perpetuity of all present and future rights to this 14 - software under copyright law. 15 - 16 - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 - IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 - OTHER DEALINGS IN THE SOFTWARE. 23 - 24 - For more information, please refer to <https://unlicense.org>
-91
footnotes_appview/README.md
··· 1 - <picture> 2 - <source srcset="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_Solid_White.svg" media="(prefers-color-scheme: dark)"> 3 - <img src="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_RGB.svg" alt="Leptos Logo"> 4 - </picture> 5 - 6 - # Leptos Axum Starter Template 7 - 8 - This is a template for use with the [Leptos](https://github.com/leptos-rs/leptos) web framework and the [cargo-leptos](https://github.com/akesson/cargo-leptos) tool using [Axum](https://github.com/tokio-rs/axum). 9 - 10 - ## Creating your template repo 11 - 12 - If you don't have `cargo-leptos` installed you can install it with 13 - 14 - ```bash 15 - cargo install cargo-leptos --locked 16 - ``` 17 - 18 - Then run 19 - ```bash 20 - cargo leptos new --git https://github.com/leptos-rs/start-axum 21 - ``` 22 - 23 - to generate a new project template. 24 - 25 - ```bash 26 - cd footnotes_appview 27 - ``` 28 - 29 - to go to your newly created project. 30 - Feel free to explore the project structure, but the best place to start with your application code is in `src/app.rs`. 31 - Additionally, Cargo.toml may need updating as new versions of the dependencies are released, especially if things are not working after a `cargo update`. 32 - 33 - ## Running your project 34 - 35 - ```bash 36 - cargo leptos watch 37 - ``` 38 - 39 - ## Installing Additional Tools 40 - 41 - By default, `cargo-leptos` uses `nightly` Rust, `cargo-generate`, and `sass`. If you run into any trouble, you may need to install one or more of these tools. 42 - 43 - 1. `rustup toolchain install nightly --allow-downgrade` - make sure you have Rust nightly 44 - 2. `rustup target add wasm32-unknown-unknown` - add the ability to compile Rust to WebAssembly 45 - 3. `cargo install cargo-generate` - install `cargo-generate` binary (should be installed automatically in future) 46 - 4. `npm install -g sass` - install `dart-sass` (should be optional in future 47 - 5. Run `npm install` in end2end subdirectory before test 48 - 49 - ## Compiling for Release 50 - ```bash 51 - cargo leptos build --release 52 - ``` 53 - 54 - Will generate your server binary in target/release and your site package in target/site 55 - 56 - ## Testing Your Project 57 - ```bash 58 - cargo leptos end-to-end 59 - ``` 60 - 61 - ```bash 62 - cargo leptos end-to-end --release 63 - ``` 64 - 65 - Cargo-leptos uses Playwright as the end-to-end test tool. 66 - Tests are located in end2end/tests directory. 67 - 68 - ## Executing a Server on a Remote Machine Without the Toolchain 69 - After running a `cargo leptos build --release` the minimum files needed are: 70 - 71 - 1. The server binary located in `target/server/release` 72 - 2. The `site` directory and all files within located in `target/site` 73 - 74 - Copy these files to your remote server. The directory structure should be: 75 - ```text 76 - footnotes_appview 77 - site/ 78 - ``` 79 - Set the following environment variables (updating for your project as needed): 80 - ```sh 81 - export LEPTOS_OUTPUT_NAME="footnotes_appview" 82 - export LEPTOS_SITE_ROOT="site" 83 - export LEPTOS_SITE_PKG_DIR="pkg" 84 - export LEPTOS_SITE_ADDR="127.0.0.1:3000" 85 - export LEPTOS_RELOAD_PORT="3001" 86 - ``` 87 - Finally, run the server binary. 88 - 89 - ## Licensing 90 - 91 - This template itself is released under the Unlicense. You should replace the LICENSE for your own application with an appropriate license if you plan to release it publicly.
+4
footnotes_appview/end2end/.gitignore
··· 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: CC0-1.0 4 + 1 5 node_modules 2 6 playwright-report 3 7 test-results
+3
footnotes_appview/end2end/package-lock.json.license
··· 1 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + 3 + SPDX-License-Identifier: MIT
+3
footnotes_appview/end2end/package.json.license
··· 1 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + 3 + SPDX-License-Identifier: CC0-1.0
+4
footnotes_appview/end2end/playwright.config.ts
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 import type { PlaywrightTestConfig } from "@playwright/test"; 2 6 import { devices, defineConfig } from "@playwright/test"; 3 7
+4
footnotes_appview/end2end/tests/example.spec.ts
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 import { test, expect } from "@playwright/test"; 2 6 3 7 test("homepage has title and heading text", async ({ page }) => {
+3
footnotes_appview/end2end/tsconfig.json.license
··· 1 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + 3 + SPDX-License-Identifier: MIT
+3
footnotes_appview/public/favicon.ico.license
··· 1 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + 3 + SPDX-License-Identifier: MIT
+4
footnotes_appview/src/app.rs
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 use leptos::prelude::*; 2 6 use leptos_meta::{provide_meta_context, MetaTags, Stylesheet, Title}; 3 7 use leptos_router::{
+4
footnotes_appview/src/lib.rs
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 pub mod app; 2 6 3 7 #[cfg(feature = "hydrate")]
+3
footnotes_appview/src/main.rs
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 1 4 2 5 #[cfg(feature = "ssr")] 3 6 #[tokio::main]
+7 -1
footnotes_appview/style/main.scss
··· 1 + /* 2 + * SPDX-FileCopyrightText: 2025 footnotes.social contributors 3 + * 4 + * SPDX-License-Identifier: MIT 5 + */ 6 + 1 7 body { 2 8 font-family: sans-serif; 3 9 text-align: center; 4 - } 10 + }
+4
footnotes_core/Cargo.toml
··· 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: MIT 4 + 1 5 [package] 2 6 name = "footnotes_core" 3 7 version = "0.1.0"
+4
footnotes_core/src/lib.rs
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 pub fn add(left: u64, right: u64) -> u64 { 2 6 left + right 3 7 }
+4
footnotes_lexicon/Cargo.toml
··· 1 + # SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + # 3 + # SPDX-License-Identifier: MIT 4 + 1 5 [package] 2 6 name = "footnotes_lexicon" 3 7 version = "0.1.0"
+4
footnotes_lexicon/src/lib.rs
··· 1 + // SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + // 3 + // SPDX-License-Identifier: MIT 4 + 1 5 pub fn add(left: u64, right: u64) -> u64 { 2 6 left + right 3 7 }
+3
npins/default.nix.license
··· 1 + SPDX-FileCopyrightText: 2025 andir 2 + 3 + SPDX-License-Identifier: MIT
+3
npins/sources.json.license
··· 1 + SPDX-FileCopyrightText: 2025 footnotes.social contributors 2 + 3 + SPDX-License-Identifier: CC0-1.0