From 6bb9cc688ecf2eff2bd8db67075d00c197f7c36d Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Thu, 15 Dec 2022 22:33:20 +0000 Subject: [PATCH 01/21] Update readme [CI SKIP] Signed-off-by: HackerNCoder --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f35b324..4bc3a9f 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,20 @@ It is available from: - [github](https://github.com/queerscriptors/queerscriptors.org) - [gitlab](https://gitlab.com/queerscriptors/queerscriptors.org) -I am attempting to create this website without JavaScript. +I do not always visit github and gitlab, so either send me an email (hackerncoder@) or ping me on matrix (or if you use discord, general is bridged to matrix so write there) + +--- + +Some notes: + +I am attempting to use no JavaScript on this website. --- Licensing, or what is a website? This website contains no JavaScript and has essentially no code made by myself, therefore it isn't a program, the GPL or similar licenses do not seem applicable, of course I am not a lawyer. -I wish to use CC-BY 4.0 where applicable, or a similar license for anything it isn't applicable to. If you know anything about licensing and think this should be made better please reach out to me +But, I wish to make this website libre software or whatever is the equivalent. If you know anything about licensing and think this should be made better please reach out to me Do note: - Not all images are made by us and are therefore, © their respective owners From b240f3bb6f59ac705a101ab53a153dcdc7c3aa2a Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Thu, 15 Dec 2022 23:11:34 +0000 Subject: [PATCH 02/21] Start on join Signed-off-by: HackerNCoder --- content/join/contents.lr | 10 ++++++++++ models/join.ini | 16 ++++++++++++++++ templates/join.html | 28 ++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 content/join/contents.lr create mode 100644 models/join.ini create mode 100644 templates/join.html diff --git a/content/join/contents.lr b/content/join/contents.lr new file mode 100644 index 0000000..00d1141 --- /dev/null +++ b/content/join/contents.lr @@ -0,0 +1,10 @@ +_model: join +--- +ogpimage: /images/ogp.png +--- +getting-started: +While you may be thinking all about the actual translation, for collaborative project such as translating at the Queerscriptors, it is important to coordinate. So the first step is actually to join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space). + +Once you are on either of those, you can proceed to create an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. +--- +learn-tech: diff --git a/models/join.ini b/models/join.ini new file mode 100644 index 0000000..10d10b8 --- /dev/null +++ b/models/join.ini @@ -0,0 +1,16 @@ +[model] +name = join +label = {{ this.title }} +hidden = yes + +[fields.ogpimage] +type = string +translate = False + +[fields.getting-started] +type = markdown +translate = False + +[fields.learn-tech] +type = markdown +translate = False diff --git a/templates/join.html b/templates/join.html new file mode 100644 index 0000000..707cd4c --- /dev/null +++ b/templates/join.html @@ -0,0 +1,28 @@ +{% extends "layout.html" %} +{% block page %} +{% include 'header.html' %} + +
+
+

Join the Queerscriptors

+
+ +
+
+ {{_("Getting setup")}} +
+
+ {{ this.getting-started }} +
+
+ +
+
+ {{_("Learn the quirks"}} +
+
+ {{ this.learn-tech }} +
+
+
+{% endblock %} From e8a8f0a34471b778194587abdd94870b227d0341 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Thu, 15 Dec 2022 23:14:02 +0000 Subject: [PATCH 03/21] fixup! Start on join Signed-off-by: HackerNCoder --- templates/join.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/join.html b/templates/join.html index 707cd4c..0eaf884 100644 --- a/templates/join.html +++ b/templates/join.html @@ -18,7 +18,7 @@
- {{_("Learn the quirks"}} + {{_("Learn the quirks")}}
{{ this.learn-tech }} From 3b283b36b6d61cfd03839f30c27b7a0c1f8e7fee Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Thu, 15 Dec 2022 23:16:41 +0000 Subject: [PATCH 04/21] fixup! Start on join Signed-off-by: HackerNCoder --- models/join.ini | 4 ++-- templates/join.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/models/join.ini b/models/join.ini index 10d10b8..1fda93f 100644 --- a/models/join.ini +++ b/models/join.ini @@ -7,10 +7,10 @@ hidden = yes type = string translate = False -[fields.getting-started] +[fields.gettingstarted] type = markdown translate = False -[fields.learn-tech] +[fields.learntech] type = markdown translate = False diff --git a/templates/join.html b/templates/join.html index 0eaf884..f7f296f 100644 --- a/templates/join.html +++ b/templates/join.html @@ -9,19 +9,19 @@
- {{_("Getting setup")}} + {{ _("Getting setup") }}
- {{ this.getting-started }} + {{ this.gettingstarted }}
- {{_("Learn the quirks")}} + {{ _("Learn the quirks") }}
- {{ this.learn-tech }} + {{ this.learntech }}
From 63c3c0f408410bffd6d3e256157d93ff9853642b Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Sat, 17 Dec 2022 19:14:32 +0000 Subject: [PATCH 05/21] Working on join Signed-off-by: HackerNCoder --- content/join/contents.lr | 8 +++----- models/join.ini | 6 +----- templates/join.html | 16 +++++++++++++--- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/content/join/contents.lr b/content/join/contents.lr index 00d1141..5de60f9 100644 --- a/content/join/contents.lr +++ b/content/join/contents.lr @@ -2,9 +2,7 @@ _model: join --- ogpimage: /images/ogp.png --- -getting-started: -While you may be thinking all about the actual translation, for collaborative project such as translating at the Queerscriptors, it is important to coordinate. So the first step is actually to join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space). +gettingstarted: +While you may be thinking all about the actual translation, translating at the Queerscriptors is a collaborative effort, and so it is important to coordinate. So the first step is actually to join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space) and talk with people. -Once you are on either of those, you can proceed to create an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. ---- -learn-tech: +Once you are on either of those, you can proceed to step 2, creating an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. If you don't want to, it is possible to create suggestions without one, but someone with an account has to accept your suggestion before it actually gets added. \ No newline at end of file diff --git a/models/join.ini b/models/join.ini index 1fda93f..9c0afc2 100644 --- a/models/join.ini +++ b/models/join.ini @@ -9,8 +9,4 @@ translate = False [fields.gettingstarted] type = markdown -translate = False - -[fields.learntech] -type = markdown -translate = False +translate = True \ No newline at end of file diff --git a/templates/join.html b/templates/join.html index f7f296f..1abf6c5 100644 --- a/templates/join.html +++ b/templates/join.html @@ -9,7 +9,7 @@
- {{ _("Getting setup") }} + Getting setup
{{ this.gettingstarted }} @@ -18,10 +18,20 @@
- {{ _("Learn the quirks") }} + Learn the quirks
- {{ this.learntech }} +

Various game engines have some techincal stuff you need to know, e.g. in Ren'Py % is a special character, so you need to write %% instead

+
+ Ren'Py +
    +
  • As said above, there are characters that are special and therefore need special treatment, e.g. %% instead of %
  • +
  • Ren'Py uses {} and {/} to denote styling, so {b}bold{/b} would display as bold. + +
  • +
From c8e85e7d0ae774c47c4287bdb644b9e592f8a494 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Sat, 17 Dec 2022 19:38:20 +0000 Subject: [PATCH 06/21] Further licensing Signed-off-by: HackerNCoder --- MIT-LICENSE.txt | 21 +++++++++++++++++++++ README.md | 10 ++++++++-- assets/scss/fonts.scss | 3 +-- 3 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 MIT-LICENSE.txt diff --git a/MIT-LICENSE.txt b/MIT-LICENSE.txt new file mode 100644 index 0000000..00dcceb --- /dev/null +++ b/MIT-LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-2022 Queerscriptors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 4bc3a9f..f65d968 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ I am attempting to use no JavaScript on this website. --- Licensing, or what is a website? + This website contains no JavaScript and has essentially no code made by myself, therefore it isn't a program, the GPL or similar licenses do not seem applicable, of course I am not a lawyer. But, I wish to make this website libre software or whatever is the equivalent. If you know anything about licensing and think this should be made better please reach out to me @@ -27,5 +28,10 @@ Do note: - The template is "Grayscale" by Start Bootstrap, licensed under MIT - lektor-i18n is licensed under GPL-3.0 - lektor-scss is licensed under MIT - - The style.CSS is based on Bootstrap (licensed under MIT), with modifications by Start Bootstrap (Also licensed under MIT), and my own changes are therefore also MIT - - The fonts: ForkAwesome is licensed under SIL OFL 1.1. Nunito is licensed under the SIL OFL 1.1. Varela Round is licensed under SIL OFL 1.1. + - (S)CSS: + - style.css is based on Bootstrap (licensed under MIT), with modifications by Start Bootstrap (Also licensed under MIT), and my own changes are therefore also MIT + - fork-awesome.scss is MIT + - Fonts: + - ForkAwesome is licensed under SIL OFL 1.1 + - Nunito is licensed under the SIL OFL 1.1 + - Varela Round is licensed under SIL OFL 1.1 diff --git a/assets/scss/fonts.scss b/assets/scss/fonts.scss index 6acf09c..e902599 100644 --- a/assets/scss/fonts.scss +++ b/assets/scss/fonts.scss @@ -1,5 +1,4 @@ -/* FONTS - * -------------------------- */ +/* FONTS - Made by HackerNCoder for the Queerscriptors. Licensed under MIT, see MIT-LICENSE.txt in the root of this project */ $vr-font-path: "../fonts/varelaround" !default; $vr-font-family: "Varela Round" !default; From 6572a04b80baa7246e17ff153d9b4ad8fddb4483 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Mon, 19 Dec 2022 17:13:26 +0000 Subject: [PATCH 07/21] Working on join Signed-off-by: HackerNCoder --- content/join/contents.lr | 2 +- templates/join.html | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/content/join/contents.lr b/content/join/contents.lr index 5de60f9..564020d 100644 --- a/content/join/contents.lr +++ b/content/join/contents.lr @@ -5,4 +5,4 @@ ogpimage: /images/ogp.png gettingstarted: While you may be thinking all about the actual translation, translating at the Queerscriptors is a collaborative effort, and so it is important to coordinate. So the first step is actually to join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space) and talk with people. -Once you are on either of those, you can proceed to step 2, creating an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. If you don't want to, it is possible to create suggestions without one, but someone with an account has to accept your suggestion before it actually gets added. \ No newline at end of file +Once you are on either of those, you can proceed to step 2, creating an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. If you don't want to, it is possible to create suggestions without an account, but someone with an account then has to accept your suggestion before it actually gets added and we will have a harder time crediting you. \ No newline at end of file diff --git a/templates/join.html b/templates/join.html index 1abf6c5..730ba36 100644 --- a/templates/join.html +++ b/templates/join.html @@ -16,21 +16,37 @@
+
+
+ Learn Weblate +
+
+

Once you've created an account you will probable see your dashboard, it's empty since you haven't started working on any translations, so lets fix that. If there are projects where translations in your language have already been started they will be shown in "Suggested translations".

+

To find all projects (games) go up to the top and select "Projects" then "Browse all projects". As if writing there are two projects I would recommend working on: Butterfly Soup 2 and website (that's this thing) if you click on either you will find that there are two "components" one is probably called the same as the project: you do not want that one, that is the glossary. The actual translation happens in the other one, we try to name it "translate" or "translations" (or something along those lines) but it can be named anything.

+

Once you have found the translations component of the project/game you want to translate you will see a list of languages, maybe yours is in that list, if so just click on it a skip the rest of this paragraph. If not you will want to add your language, most likely weblate will be helpful and show it at the top of the list with a + to the left, you can just click that +. Otherwise use "Start new translation" at the bottom of the list. Then search for your language and choose it and click on "Start new translation", it will take some time to work through everything, so be patient. Once it is done you will be taken to the newly created language

+

You can now click "Translate" and begin translating! (Also check out Zen mode, found in the upper right corner once you have clicked translate)

+
+
+
Learn the quirks
-

Various game engines have some techincal stuff you need to know, e.g. in Ren'Py % is a special character, so you need to write %% instead

+

Various game engines have some technical stuff you need to know, e.g. in Ren'Py % is a special character, so you need to write \% or %% instead.

Ren'Py
    -
  • As said above, there are characters that are special and therefore need special treatment, e.g. %% instead of %
  • -
  • Ren'Py uses {} and {/} to denote styling, so {b}bold{/b} would display as bold. +
  • As said above, there are characters that are special and therefore need special treatment, e.g. %% or \% instead of % and \\ instead of \. Most likely you will find these things are also in the source language, so you can just copy it over
  • +
  • Ren'Py uses {char} and {/char} to denote styling, so {b}bold{/b} would display as bold. +
  • +
  • For RTL languages: Usage of char inside the string, things like {w=0.35}, seem to break Ren'Py. Usage of things like {big} which surround the string seem to be fine.
From c11236860a791877b846e2da8618cc8ea9374023 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Wed, 21 Dec 2022 04:30:23 +0000 Subject: [PATCH 08/21] Working on join (+ small readme fix) Signed-off-by: HackerNCoder --- README.md | 2 +- templates/join.html | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f65d968..8911bc4 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ It is available from: - [github](https://github.com/queerscriptors/queerscriptors.org) - [gitlab](https://gitlab.com/queerscriptors/queerscriptors.org) -I do not always visit github and gitlab, so either send me an email (hackerncoder@) or ping me on matrix (or if you use discord, general is bridged to matrix so write there) +I do not always visit github and gitlab, so either send me an email (hackerncoder@[canonical without lab.]) or ping me on matrix (or if you use discord, general is bridged to matrix so write there) --- diff --git a/templates/join.html b/templates/join.html index 730ba36..6bf0ee1 100644 --- a/templates/join.html +++ b/templates/join.html @@ -22,8 +22,8 @@

Once you've created an account you will probable see your dashboard, it's empty since you haven't started working on any translations, so lets fix that. If there are projects where translations in your language have already been started they will be shown in "Suggested translations".

-

To find all projects (games) go up to the top and select "Projects" then "Browse all projects". As if writing there are two projects I would recommend working on: Butterfly Soup 2 and website (that's this thing) if you click on either you will find that there are two "components" one is probably called the same as the project: you do not want that one, that is the glossary. The actual translation happens in the other one, we try to name it "translate" or "translations" (or something along those lines) but it can be named anything.

-

Once you have found the translations component of the project/game you want to translate you will see a list of languages, maybe yours is in that list, if so just click on it a skip the rest of this paragraph. If not you will want to add your language, most likely weblate will be helpful and show it at the top of the list with a + to the left, you can just click that +. Otherwise use "Start new translation" at the bottom of the list. Then search for your language and choose it and click on "Start new translation", it will take some time to work through everything, so be patient. Once it is done you will be taken to the newly created language

+

To find all projects (games) go up to the top and select "Projects" then "Browse all projects". As of writing there are two projects I would recommend working on: Butterfly Soup 2 and website (that's this thing) if you click on either you will find that there are two "components" one is probably called the same as the project: you do not want that one, that is the glossary. The actual translation happens in the other one, we try to name it "translate" or "translations" (or something along those lines) but it can be named anything.

+

Once you have found the translations component of the project/game you want to translate you will see a list of languages, maybe yours is in that list, if so just click on it a skip the rest of this paragraph. If not you will want to add your language, most likely weblate will be helpful and show it at the top of the list with a + to the left, you can just click that +. Otherwise use "Start new translation" at the bottom of the list, then search for your language and choose it and click on "Start new translation". It will take some time to work through everything, so be patient. Once it is done you will be taken to the newly created language

You can now click "Translate" and begin translating! (Also check out Zen mode, found in the upper right corner once you have clicked translate)

@@ -37,7 +37,7 @@
Ren'Py
    -
  • As said above, there are characters that are special and therefore need special treatment, e.g. %% or \% instead of % and \\ instead of \. Most likely you will find these things are also in the source language, so you can just copy it over
  • +
  • As said above, there are characters that are special and therefore need special treatment, e.g. %% or \% instead of % and \\ instead of \. Most likely you will find these things are also in the source language, so you can just copy it over
  • @@ -46,7 +46,7 @@
  • A full list of what chars and names correspond to what output can be found in the Ren'Py documentation.
-
  • For RTL languages: Usage of char inside the string, things like {w=0.35}, seem to break Ren'Py. Usage of things like {big} which surround the string seem to be fine.
  • +
  • For RTL languages: Usage of {char} inside the string, things like {w=0.35}, seem to break Ren'Py. Usage of things like {big} which surround the string seem to be fine.
  • From 55f9c81b5b0e0804f6f2db016be5974e45228820 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Wed, 21 Dec 2022 04:31:00 +0000 Subject: [PATCH 09/21] Add lookout Signed-off-by: HackerNCoder --- content/games/lookouts/contents.lr | 16 ++++++++++++++++ content/games/lookouts/main.jpg | Bin 0 -> 46749 bytes 2 files changed, 16 insertions(+) create mode 100644 content/games/lookouts/contents.lr create mode 100644 content/games/lookouts/main.jpg diff --git a/content/games/lookouts/contents.lr b/content/games/lookouts/contents.lr new file mode 100644 index 0000000..736c97f --- /dev/null +++ b/content/games/lookouts/contents.lr @@ -0,0 +1,16 @@ +_model: project +--- +ogpimage: main.jpg +--- +title: Lookouts +--- +shortbody: A fateful meeting of queer outlaws in the desert. +--- +body: +Two lookouts meet in a desert, far from the sight of their gangs. + +With more in common than they could've expected, they scout out a town with rumours of gold. + +What will become of this fateful meeting? +--- +website: https://paranoidhawk.itch.io/lookouts \ No newline at end of file diff --git a/content/games/lookouts/main.jpg b/content/games/lookouts/main.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06c2fa59d55f2011e1c6cf2b433a12cfaa1670cf GIT binary patch literal 46749 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 literal 0 HcmV?d00001 From a2dff5b5a8b3c11c6123420667698f9ff60b266f Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 31 Jan 2023 14:12:03 +0000 Subject: [PATCH 10/21] Licensing.... again, again --- LICENSES/CC0-1.0.txt | 121 +++++++++++++++++++++++++++++++++++++++++ LICENSES/MIT.txt | 9 +++ LICENSING.txt | 13 +++++ MIT-LICENSE.txt | 21 ------- README.md | 21 ------- assets/css/styles.css | 5 +- assets/scss/fonts.scss | 6 +- 7 files changed, 150 insertions(+), 46 deletions(-) create mode 100644 LICENSES/CC0-1.0.txt create mode 100644 LICENSES/MIT.txt create mode 100644 LICENSING.txt delete mode 100644 MIT-LICENSE.txt diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSES/CC0-1.0.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..7ef4966 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2021-2023 Queerscriptors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/LICENSING.txt b/LICENSING.txt new file mode 100644 index 0000000..936a06c --- /dev/null +++ b/LICENSING.txt @@ -0,0 +1,13 @@ +- Not all images are made by us and are therefore, © their respective owners + +- The template is "Grayscale" by Start Bootstrap, licensed under MIT +- lektor-i18n is licensed under GPL-3.0 +- lektor-scss is licensed under MIT +- (S)CSS: + - style.css is based on Bootstrap (licensed under MIT), with modifications by Start Bootstrap (Also licensed under MIT), and my own changes are therefore also MIT + - fork-awesome.scss is MIT + - fonts.scss is CC0 +- Fonts: + - ForkAwesome is licensed under SIL OFL 1.1 + - Nunito is licensed under the SIL OFL 1.1 + - Varela Round is licensed under SIL OFL 1.1 diff --git a/MIT-LICENSE.txt b/MIT-LICENSE.txt deleted file mode 100644 index 00dcceb..0000000 --- a/MIT-LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021-2022 Queerscriptors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 8911bc4..a1f5950 100644 --- a/README.md +++ b/README.md @@ -14,24 +14,3 @@ Some notes: I am attempting to use no JavaScript on this website. ---- - -Licensing, or what is a website? - -This website contains no JavaScript and has essentially no code made by myself, therefore it isn't a program, the GPL or similar licenses do not seem applicable, of course I am not a lawyer. - -But, I wish to make this website libre software or whatever is the equivalent. If you know anything about licensing and think this should be made better please reach out to me - -Do note: - - Not all images are made by us and are therefore, © their respective owners - - The "source code" of this website includes things made by others: - - The template is "Grayscale" by Start Bootstrap, licensed under MIT - - lektor-i18n is licensed under GPL-3.0 - - lektor-scss is licensed under MIT - - (S)CSS: - - style.css is based on Bootstrap (licensed under MIT), with modifications by Start Bootstrap (Also licensed under MIT), and my own changes are therefore also MIT - - fork-awesome.scss is MIT - - Fonts: - - ForkAwesome is licensed under SIL OFL 1.1 - - Nunito is licensed under the SIL OFL 1.1 - - Varela Round is licensed under SIL OFL 1.1 diff --git a/assets/css/styles.css b/assets/css/styles.css index e91270f..7e894b3 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -1,8 +1,7 @@ @charset "UTF-8"; /*! -* Queerscriptors.org - Queerscriptors (https://queerscriptors.org) -* Copyright 2021-2022 Queerscriptors -* Licensed under MIT +* SPDX-FileCopyrightText: 2021-2023 Queerscriptors (https://queerscriptors.org) +* SPDX-License-Identifier: MIT */ /*! * Start Bootstrap - Grayscale v7.0.3 (https://startbootstrap.com/theme/grayscale) diff --git a/assets/scss/fonts.scss b/assets/scss/fonts.scss index e902599..91d678d 100644 --- a/assets/scss/fonts.scss +++ b/assets/scss/fonts.scss @@ -1,4 +1,8 @@ -/* FONTS - Made by HackerNCoder for the Queerscriptors. Licensed under MIT, see MIT-LICENSE.txt in the root of this project */ +/* + * SPDX-FileCopyrightText: 2022 HackerNCoder + * + * SPDX-License-Identifier: CC0-1.0 + */ $vr-font-path: "../fonts/varelaround" !default; $vr-font-family: "Varela Round" !default; From 38163d1974ee1632cb1fd1b49239d7c04e2d084c Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 31 Jan 2023 14:16:15 +0000 Subject: [PATCH 11/21] Rewrite join --- content/join/contents.lr | 4 ++-- templates/join.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/join/contents.lr b/content/join/contents.lr index 564020d..830fd8c 100644 --- a/content/join/contents.lr +++ b/content/join/contents.lr @@ -3,6 +3,6 @@ _model: join ogpimage: /images/ogp.png --- gettingstarted: -While you may be thinking all about the actual translation, translating at the Queerscriptors is a collaborative effort, and so it is important to coordinate. So the first step is actually to join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space) and talk with people. +While you may be eager to start translating immediately, there may be others also working on the translation and so you will probably need to talk and coordinate with them. So please join our [Discord](https://discord.gg/tzbXdkxWYF) or [Matrix](https://matrix.to/#/#queerscriptors:encryptionin.space). -Once you are on either of those, you can proceed to step 2, creating an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. If you don't want to, it is possible to create suggestions without an account, but someone with an account then has to accept your suggestion before it actually gets added and we will have a harder time crediting you. \ No newline at end of file +Once you are on either of those, you can proceed to step 2: creating an account at our [Weblate](https://weblate.queerscriptors.org), this is the tool we use to translate. diff --git a/templates/join.html b/templates/join.html index 6bf0ee1..f6db99b 100644 --- a/templates/join.html +++ b/templates/join.html @@ -21,14 +21,14 @@ Learn Weblate
    -

    Once you've created an account you will probable see your dashboard, it's empty since you haven't started working on any translations, so lets fix that. If there are projects where translations in your language have already been started they will be shown in "Suggested translations".

    -

    To find all projects (games) go up to the top and select "Projects" then "Browse all projects". As of writing there are two projects I would recommend working on: Butterfly Soup 2 and website (that's this thing) if you click on either you will find that there are two "components" one is probably called the same as the project: you do not want that one, that is the glossary. The actual translation happens in the other one, we try to name it "translate" or "translations" (or something along those lines) but it can be named anything.

    -

    Once you have found the translations component of the project/game you want to translate you will see a list of languages, maybe yours is in that list, if so just click on it a skip the rest of this paragraph. If not you will want to add your language, most likely weblate will be helpful and show it at the top of the list with a + to the left, you can just click that +. Otherwise use "Start new translation" at the bottom of the list, then search for your language and choose it and click on "Start new translation". It will take some time to work through everything, so be patient. Once it is done you will be taken to the newly created language

    +

    Once you've created an account you will probably see your dashboard, it's empty since you haven't started working on any translations, so lets fix that. For projects that have a translation in your language already, they will be shown in "Suggested translations". To find all projects go up to the top and select "Projects" then "Browse all projects".

    +

    As of writing there are two projects I would recommend working on: Butterfly Soup 2 and website (that's this thing) if you click on either (in the list of all projects) you will find that there are two "components" one is probably called the same as the project, you do not want that one, that is the glossary. The actual translation happens in the other one, in many cases it is named "translate" or "translations" (or something along those lines), but it can be named anything.

    +

    Once you have found the "translations" component of the project you want to translate you will see a list of languages, maybe yours is in that list, if so just click on it a skip the rest of this paragraph. If not you will want to add your language, most likely weblate will be helpful and show it at the top of the list with a + to the left, you can just click that +. Otherwise use "Start new translation" at the bottom of the list, then search for your language, choose it and click on "Start new translation". It will take some time to work through everything, so be patient. Once it is done you will be taken to the newly created language

    You can now click "Translate" and begin translating! (Also check out Zen mode, found in the upper right corner once you have clicked translate)

    -
    +
    Learn the quirks
    From 1767f0191644f5bde0d85d643a1b154dcbee3b40 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 31 Jan 2023 14:18:00 +0000 Subject: [PATCH 12/21] Update /var/www paths --- .woodpecker.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 1157767..8e974be 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -21,21 +21,21 @@ pipeline: publish: image: debian commands: - - rm -r /var/www/queerscriptors/* - - cp -r public/* /var/www/queerscriptors/ - - cp -r i18n/ /var/www/queerscriptors/i18n/ + - rm -r /var/www/queer/main* + - cp -r public/* /var/www/queer/main + - cp -r i18n/ /var/www/queer/i18n/ volumes: - - /var/www/queerscriptors:/var/www/queerscriptors + - /var/www/queer/main:/var/www/queer/main when: branch: main publish-dev: image: debian commands: - - rm -r /var/www/dev/queerscriptors/* - - cp -r public/* /var/www/dev/queerscriptors/ - - cp -r i18n/ /var/www/dev/queerscriptors/i18n/ + - rm -r /var/www/queer/dev/* + - cp -r public/* /var/www/queer/dev/ + - cp -r i18n/ /var/www/queer/dev/i18n/ volumes: - - /var/www/dev/queerscriptors:/var/www/dev/queerscriptors + - /var/www/queer/dev/:/var/www/queer/dev/ when: branch: exclude: main From 3933664fb5686a3af46e977ceb76679dbe2d9ad1 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Sun, 12 Feb 2023 00:18:44 +0000 Subject: [PATCH 13/21] Add / at the end of some lines on publish for main --- .woodpecker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 8e974be..880e2d6 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -21,11 +21,11 @@ pipeline: publish: image: debian commands: - - rm -r /var/www/queer/main* - - cp -r public/* /var/www/queer/main + - rm -r /var/www/queer/main/* + - cp -r public/* /var/www/queer/main/ - cp -r i18n/ /var/www/queer/i18n/ volumes: - - /var/www/queer/main:/var/www/queer/main + - /var/www/queer/main/:/var/www/queer/main/ when: branch: main publish-dev: From 405d2fc2e6b0dea459e882b5fe376c2a0b992e5b Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Mon, 13 Feb 2023 21:13:09 +0000 Subject: [PATCH 14/21] Update lucah weblate key --- content/games/lucahboad/contents.lr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/games/lucahboad/contents.lr b/content/games/lucahboad/contents.lr index 283862c..09eb4fd 100644 --- a/content/games/lucahboad/contents.lr +++ b/content/games/lucahboad/contents.lr @@ -13,6 +13,6 @@ HACK, SLASH, ASCEND. Lucah: Born of a Dream is a harrowing struggle through our You have been MARKED, cursed to have your inner demons come to life as vicious Nightmares. After awakening a false god, you must atone. Traverse the hellish realm of dreams, endure the nightmare onslaught, and uncover the strength to accept yourself. --- -weblate: lucah +weblate: lucah-born-of-a-dream --- website: https://store.steampowered.com/app/896460/Lucah_Born_of_a_Dream/ From 31d46b5ae7e78b1424f65489f7608fe376f5a52e Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 18:35:35 +0000 Subject: [PATCH 15/21] Use grid instead of absolute position for games Signed-off-by: HackerNCoder --- assets/css/styles.css | 28 +++++++++++++++++++++++----- templates/games.html | 8 ++++---- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/assets/css/styles.css b/assets/css/styles.css index 7e894b3..bad9ce1 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -4657,6 +4657,29 @@ textarea.form-control-lg { padding: 1rem 1rem; } +@media (min-width: 768px) { + .card-body { + padding-left: 1rem; + padding-top: 1rem; + } + + .card-grid { + display: grid; + grid-template-columns: 70% 30%; + grid-template-rows: auto; + } + + .card-grid-div { + grid-column: 1; + grid-row: 2; + } + + .card-grid-btn { + grid-column: 2; + grid-row: 2; + } +} + .card-title { margin-bottom: 0.5rem; } @@ -6941,11 +6964,6 @@ textarea.form-control-lg { position: absolute !important; } -@media (min-width: 768px) { - .position-absolute-md { - position: absolute !important; - } -} .position-fixed { position: fixed !important; } diff --git a/templates/games.html b/templates/games.html index 34394a5..f64c579 100644 --- a/templates/games.html +++ b/templates/games.html @@ -7,7 +7,7 @@ {% include 'header.html' %}
    -

    A list of queer games

    +

    {{ _("A list of queer games") }}

    {% for project in this.children %} {% set image = project.attachments.images.first() %} @@ -18,9 +18,9 @@
    -

    {{project.title}}

    {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} - {{project.body}} -
    +

    {{project.title}}

    {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} +
    {{project.body}}
    +
    {% if project.weblate %} {{ _("More") }} {% else %} From 35b1b02b505b8cf7ea0db9be005b3a94d668cdbf Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 18:35:55 +0000 Subject: [PATCH 16/21] Update missedmsgs so it uses h3 and h4 instead of h2 Signed-off-by: HackerNCoder --- content/games/missedmsgs/contents.lr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/games/missedmsgs/contents.lr b/content/games/missedmsgs/contents.lr index ed179e5..238c1a1 100644 --- a/content/games/missedmsgs/contents.lr +++ b/content/games/missedmsgs/contents.lr @@ -7,8 +7,8 @@ title: Missed messages. shortbody: 'goth gf's iPhone' airdrops you - accept or decline? A love/horror story about life, death & memes --- body: -##"goth gf's iPhone" airdrops you a photo. -###Accept or decline? +###"goth gf's iPhone" airdrops you a photo. +####Accept or decline? A romance / horror story about life, death, and memes. From bb0a7a435274d9bd94544e080c8794e702aaac5f Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 18:43:04 +0000 Subject: [PATCH 17/21] fixup! Use grid instead of absolute position for games Signed-off-by: HackerNCoder --- assets/css/styles.css | 3 +-- templates/games.html | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/assets/css/styles.css b/assets/css/styles.css index bad9ce1..aaad89c 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -4659,8 +4659,7 @@ textarea.form-control-lg { @media (min-width: 768px) { .card-body { - padding-left: 1rem; - padding-top: 1rem; + padding: 1rem 0 0 1rem; } .card-grid { diff --git a/templates/games.html b/templates/games.html index f64c579..c6fdf78 100644 --- a/templates/games.html +++ b/templates/games.html @@ -17,7 +17,7 @@
    -
    +

    {{project.title}}

    {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %}
    {{project.body}}
    From 6c83f291d8f961e392e4eefcc861732725c5019f Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 18:47:41 +0000 Subject: [PATCH 18/21] Include card-title (and span) in card-grid-div Signed-off-by: HackerNCoder --- templates/games.html | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/templates/games.html b/templates/games.html index c6fdf78..e394fcc 100644 --- a/templates/games.html +++ b/templates/games.html @@ -12,24 +12,27 @@ {% for project in this.children %} {% set image = project.attachments.images.first() %}
    -
    -
    - -
    -
    -
    -

    {{project.title}}

    {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} -
    {{project.body}}
    -
    - {% if project.weblate %} - {{ _("More") }} - {% else %} - {{ _("Download") }} - {% endif %} -
    -
    -
    +
    +
    +
    +
    +
    +
    +

    {{project.title}}

    + {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} + {{project.body}} +
    +
    + {% if project.weblate %} + {{ _("More") }} + {% else %} + {{ _("Download") }} + {% endif %} +
    +
    +
    +
    {% endfor %}
    From ad08bdcb4f0c133a0a93af6fab300febdc5f85a3 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 19:59:25 +0000 Subject: [PATCH 19/21] Position btn better using 3 grid rows and flexbox Signed-off-by: HackerNCoder --- assets/css/styles.css | 6 +++--- templates/games.html | 20 +++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/assets/css/styles.css b/assets/css/styles.css index aaad89c..04e0158 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -4665,17 +4665,17 @@ textarea.form-control-lg { .card-grid { display: grid; grid-template-columns: 70% 30%; - grid-template-rows: auto; + grid-template-rows: min-content auto auto; } .card-grid-div { - grid-column: 1; + grid-column: span 2; grid-row: 2; } .card-grid-btn { grid-column: 2; - grid-row: 2; + grid-row: 3; } } diff --git a/templates/games.html b/templates/games.html index e394fcc..7f8abfa 100644 --- a/templates/games.html +++ b/templates/games.html @@ -18,22 +18,24 @@
    +

    {{project.title}}

    + {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %}
    -

    {{project.title}}

    - {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} {{project.body}}
    -
    - {% if project.weblate %} - {{ _("More") }} - {% else %} - {{ _("Download") }} - {% endif %} +
    +
    + {% if project.weblate %} + {{ _("More") }} + {% else %} + {{ _("Download") }} + {% endif %} +
    -{% endfor %} + {% endfor %}
    {% endblock %} From 9a1e3edef972faab5a3f48441e044475f8629d7f Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 20:02:07 +0000 Subject: [PATCH 20/21] Put card-title and badge in div Signed-off-by: HackerNCoder --- templates/games.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/games.html b/templates/games.html index 7f8abfa..d80992e 100644 --- a/templates/games.html +++ b/templates/games.html @@ -18,8 +18,10 @@
    -

    {{project.title}}

    - {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} +
    +

    {{project.title}}

    + {% if project.weblate %}{{ _("Translated by the Queerscriptors") }}{% endif %} +
    {{project.body}}
    From 21a55b82d49400e4da9ec2a9d32ef276140cec61 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Tue, 14 Feb 2023 20:05:34 +0000 Subject: [PATCH 21/21] Add 10px padding on card-body Signed-off-by: HackerNCoder --- assets/css/styles.css | 2 +- templates/games.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/css/styles.css b/assets/css/styles.css index 04e0158..d1a1619 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -4659,7 +4659,7 @@ textarea.form-control-lg { @media (min-width: 768px) { .card-body { - padding: 1rem 0 0 1rem; + padding: 1rem 10px 0 1rem; } .card-grid { diff --git a/templates/games.html b/templates/games.html index d80992e..f375e61 100644 --- a/templates/games.html +++ b/templates/games.html @@ -26,7 +26,7 @@ {{project.body}}
    -
    +
    {% if project.weblate %} {{ _("More") }} {% else %}