#1113 Add docs.fedoraproject.org/en-US/websites/ to this repository
Merged 9 months ago by jflory7. Opened 10 months ago by jflory7.
jflory7/fedora-websites add/docs.fp.o-websites  into  master

file modified
+4
@@ -13,3 +13,7 @@ 

  */out

  */data/templates/translations.html

  

+ # Antora build caches and directories for docs.fp.o

+ build

+ cache

+ public

file modified
+3 -2
@@ -12,10 +12,10 @@ 

  History of previous commits is still available in the [old repo on Fedora Hosted](https://git.fedorahosted.org/cgit/fedora-web.git/). **For more information please read the [documentation](https://docs.pagure.org/fedora-websites/) and the [Fedora Websites pages on the Fedora Wiki](https://fedoraproject.org/wiki/Websites)**

  

  ### Contributing

- If you like to help the websites team but are not actually a member, you 

+ If you like to help the websites team but are not actually a member, you

  can easily file Pull Requests. Fork this repository, make your changes and

  submit them here. Check of the [Fedora Websites wiki](https://fedoraproject.org/wiki/Websites#Join_the_Websites_Team) for details on how to

- become a member of the websites team. 

+ become a member of the websites team.

  

  Translations are handled by the Fedora [localization team](https://fedoraproject.org/wiki/L10N) on [Fedora Weblate](https://translate.stg.fedoraproject.org/projects/fedora-websites/).

  
@@ -29,6 +29,7 @@ 

  * http://arm.fedoraproject.org

  * http://boot.fedoraproject.org

  * http://budget.fedoraproject.org

+ * https://docs.fedoraproject.org/en-US/websites/

  * http://fedoracommunity.org

  * http://fedorahosted.org

  * http://fedorapeople.org

file added
+51
@@ -0,0 +1,51 @@ 

+ #!/bin/sh

+ 

+ image="docker.io/antora/antora"

+ cmd="--html-url-extension-style=indexify site.yml"

+ 

+ if [ "$(uname)" == "Darwin" ]; then

+     # Running on macOS.

+     # Let's assume that the user has the Docker CE installed

+     # which doesn't require a root password.

+     echo ""

+     echo "This build script is using Docker container runtime to run the build in an isolated environment."

+     echo ""

+     docker run --rm -it -v $(pwd):/antora $image $cmd

+ 

+ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then

+     # Running on Linux.

+     # there isn't an antora/aarch64 container, antora can be installed locally

+     # Check whether podman is available, else faill back to docker

+     # which requires root.

+ 

+     if [ -f /usr/local/bin/antora ]; then

+         /usr/local/bin/antora $cmd

+     elif [[ `uname -m` == "aarch64" ]]; then

+         echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`"

+     elif [ -f /usr/bin/podman ]; then

+         echo ""

+         echo "This build script is using Podman to run the build in an isolated environment."

+         echo ""

+         podman run --rm -it -v $(pwd):/antora:z $image $cmd

+ 

+     elif [ -f /usr/bin/docker ]; then

+         echo ""

+         echo "This build script is using Docker to run the build in an isolated environment."

+         echo ""

+ 

+         if groups | grep -wq "docker"; then

+ 	    docker run --rm -it -v $(pwd):/antora:z $image $cmd

+ 	else

+             echo ""

+             echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password."

+             echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/."

+             echo ""

+             sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd

+ 	fi

+     else

+         echo ""

+ 	echo "Error: Container runtime haven't been found on your system. Fix it by:"

+ 	echo "$ sudo dnf install podman"

+ 	exit 1

+     fi

+ fi

file added
+428
@@ -0,0 +1,428 @@ 

+ Attribution-ShareAlike 4.0 International

+ 

+ =======================================================================

+ 

+ Creative Commons Corporation ("Creative Commons") is not a law firm and

+ does not provide legal services or legal advice. Distribution of

+ Creative Commons public licenses does not create a lawyer-client or

+ other relationship. Creative Commons makes its licenses and related

+ information available on an "as-is" basis. Creative Commons gives no

+ warranties regarding its licenses, any material licensed under their

+ terms and conditions, or any related information. Creative Commons

+ disclaims all liability for damages resulting from their use to the

+ fullest extent possible.

+ 

+ Using Creative Commons Public Licenses

+ 

+ Creative Commons public licenses provide a standard set of terms and

+ conditions that creators and other rights holders may use to share

+ original works of authorship and other material subject to copyright

+ and certain other rights specified in the public license below. The

+ following considerations are for informational purposes only, are not

+ exhaustive, and do not form part of our licenses.

+ 

+      Considerations for licensors: Our public licenses are

+      intended for use by those authorized to give the public

+      permission to use material in ways otherwise restricted by

+      copyright and certain other rights. Our licenses are

+      irrevocable. Licensors should read and understand the terms

+      and conditions of the license they choose before applying it.

+      Licensors should also secure all rights necessary before

+      applying our licenses so that the public can reuse the

+      material as expected. Licensors should clearly mark any

+      material not subject to the license. This includes other CC-

+      licensed material, or material used under an exception or

+      limitation to copyright. More considerations for licensors:

+     wiki.creativecommons.org/Considerations_for_licensors

+ 

+      Considerations for the public: By using one of our public

+      licenses, a licensor grants the public permission to use the

+      licensed material under specified terms and conditions. If

+      the licensor's permission is not necessary for any reason--for

+      example, because of any applicable exception or limitation to

+      copyright--then that use is not regulated by the license. Our

+      licenses grant only permissions under copyright and certain

+      other rights that a licensor has authority to grant. Use of

+      the licensed material may still be restricted for other

+      reasons, including because others have copyright or other

+      rights in the material. A licensor may make special requests,

+      such as asking that all changes be marked or described.

+      Although not required by our licenses, you are encouraged to

+      respect those requests where reasonable. More considerations

+      for the public:

+     wiki.creativecommons.org/Considerations_for_licensees

+ 

+ =======================================================================

+ 

+ Creative Commons Attribution-ShareAlike 4.0 International Public

+ License

+ 

+ By exercising the Licensed Rights (defined below), You accept and agree

+ to be bound by the terms and conditions of this Creative Commons

+ Attribution-ShareAlike 4.0 International Public License ("Public

+ License"). To the extent this Public License may be interpreted as a

+ contract, You are granted the Licensed Rights in consideration of Your

+ acceptance of these terms and conditions, and the Licensor grants You

+ such rights in consideration of benefits the Licensor receives from

+ making the Licensed Material available under these terms and

+ conditions.

+ 

+ 

+ Section 1 -- Definitions.

+ 

+   a. Adapted Material means material subject to Copyright and Similar

+      Rights that is derived from or based upon the Licensed Material

+      and in which the Licensed Material is translated, altered,

+      arranged, transformed, or otherwise modified in a manner requiring

+      permission under the Copyright and Similar Rights held by the

+      Licensor. For purposes of this Public License, where the Licensed

+      Material is a musical work, performance, or sound recording,

+      Adapted Material is always produced where the Licensed Material is

+      synched in timed relation with a moving image.

+ 

+   b. Adapter's License means the license You apply to Your Copyright

+      and Similar Rights in Your contributions to Adapted Material in

+      accordance with the terms and conditions of this Public License.

+ 

+   c. BY-SA Compatible License means a license listed at

+      creativecommons.org/compatiblelicenses, approved by Creative

+      Commons as essentially the equivalent of this Public License.

+ 

+   d. Copyright and Similar Rights means copyright and/or similar rights

+      closely related to copyright including, without limitation,

+      performance, broadcast, sound recording, and Sui Generis Database

+      Rights, without regard to how the rights are labeled or

+      categorized. For purposes of this Public License, the rights

+      specified in Section 2(b)(1)-(2) are not Copyright and Similar

+      Rights.

+ 

+   e. Effective Technological Measures means those measures that, in the

+      absence of proper authority, may not be circumvented under laws

+      fulfilling obligations under Article 11 of the WIPO Copyright

+      Treaty adopted on December 20, 1996, and/or similar international

+      agreements.

+ 

+   f. Exceptions and Limitations means fair use, fair dealing, and/or

+      any other exception or limitation to Copyright and Similar Rights

+      that applies to Your use of the Licensed Material.

+ 

+   g. License Elements means the license attributes listed in the name

+      of a Creative Commons Public License. The License Elements of this

+      Public License are Attribution and ShareAlike.

+ 

+   h. Licensed Material means the artistic or literary work, database,

+      or other material to which the Licensor applied this Public

+      License.

+ 

+   i. Licensed Rights means the rights granted to You subject to the

+      terms and conditions of this Public License, which are limited to

+      all Copyright and Similar Rights that apply to Your use of the

+      Licensed Material and that the Licensor has authority to license.

+ 

+   j. Licensor means the individual(s) or entity(ies) granting rights

+      under this Public License.

+ 

+   k. Share means to provide material to the public by any means or

+      process that requires permission under the Licensed Rights, such

+      as reproduction, public display, public performance, distribution,

+      dissemination, communication, or importation, and to make material

+      available to the public including in ways that members of the

+      public may access the material from a place and at a time

+      individually chosen by them.

+ 

+   l. Sui Generis Database Rights means rights other than copyright

+      resulting from Directive 96/9/EC of the European Parliament and of

+      the Council of 11 March 1996 on the legal protection of databases,

+      as amended and/or succeeded, as well as other essentially

+      equivalent rights anywhere in the world.

+ 

+   m. You means the individual or entity exercising the Licensed Rights

+      under this Public License. Your has a corresponding meaning.

+ 

+ 

+ Section 2 -- Scope.

+ 

+   a. License grant.

+ 

+        1. Subject to the terms and conditions of this Public License,

+           the Licensor hereby grants You a worldwide, royalty-free,

+           non-sublicensable, non-exclusive, irrevocable license to

+           exercise the Licensed Rights in the Licensed Material to:

+ 

+             a. reproduce and Share the Licensed Material, in whole or

+                in part; and

+ 

+             b. produce, reproduce, and Share Adapted Material.

+ 

+        2. Exceptions and Limitations. For the avoidance of doubt, where

+           Exceptions and Limitations apply to Your use, this Public

+           License does not apply, and You do not need to comply with

+           its terms and conditions.

+ 

+        3. Term. The term of this Public License is specified in Section

+           6(a).

+ 

+        4. Media and formats; technical modifications allowed. The

+           Licensor authorizes You to exercise the Licensed Rights in

+           all media and formats whether now known or hereafter created,

+           and to make technical modifications necessary to do so. The

+           Licensor waives and/or agrees not to assert any right or

+           authority to forbid You from making technical modifications

+           necessary to exercise the Licensed Rights, including

+           technical modifications necessary to circumvent Effective

+           Technological Measures. For purposes of this Public License,

+           simply making modifications authorized by this Section 2(a)

+           (4) never produces Adapted Material.

+ 

+        5. Downstream recipients.

+ 

+             a. Offer from the Licensor -- Licensed Material. Every

+                recipient of the Licensed Material automatically

+                receives an offer from the Licensor to exercise the

+                Licensed Rights under the terms and conditions of this

+                Public License.

+ 

+             b. Additional offer from the Licensor -- Adapted Material.

+                Every recipient of Adapted Material from You

+                automatically receives an offer from the Licensor to

+                exercise the Licensed Rights in the Adapted Material

+                under the conditions of the Adapter's License You apply.

+ 

+             c. No downstream restrictions. You may not offer or impose

+                any additional or different terms or conditions on, or

+                apply any Effective Technological Measures to, the

+                Licensed Material if doing so restricts exercise of the

+                Licensed Rights by any recipient of the Licensed

+                Material.

+ 

+        6. No endorsement. Nothing in this Public License constitutes or

+           may be construed as permission to assert or imply that You

+           are, or that Your use of the Licensed Material is, connected

+           with, or sponsored, endorsed, or granted official status by,

+           the Licensor or others designated to receive attribution as

+           provided in Section 3(a)(1)(A)(i).

+ 

+   b. Other rights.

+ 

+        1. Moral rights, such as the right of integrity, are not

+           licensed under this Public License, nor are publicity,

+           privacy, and/or other similar personality rights; however, to

+           the extent possible, the Licensor waives and/or agrees not to

+           assert any such rights held by the Licensor to the limited

+           extent necessary to allow You to exercise the Licensed

+           Rights, but not otherwise.

+ 

+        2. Patent and trademark rights are not licensed under this

+           Public License.

+ 

+        3. To the extent possible, the Licensor waives any right to

+           collect royalties from You for the exercise of the Licensed

+           Rights, whether directly or through a collecting society

+           under any voluntary or waivable statutory or compulsory

+           licensing scheme. In all other cases the Licensor expressly

+           reserves any right to collect such royalties.

+ 

+ 

+ Section 3 -- License Conditions.

+ 

+ Your exercise of the Licensed Rights is expressly made subject to the

+ following conditions.

+ 

+   a. Attribution.

+ 

+        1. If You Share the Licensed Material (including in modified

+           form), You must:

+ 

+             a. retain the following if it is supplied by the Licensor

+                with the Licensed Material:

+ 

+                  i. identification of the creator(s) of the Licensed

+                     Material and any others designated to receive

+                     attribution, in any reasonable manner requested by

+                     the Licensor (including by pseudonym if

+                     designated);

+ 

+                 ii. a copyright notice;

+ 

+                iii. a notice that refers to this Public License;

+ 

+                 iv. a notice that refers to the disclaimer of

+                     warranties;

+ 

+                  v. a URI or hyperlink to the Licensed Material to the

+                     extent reasonably practicable;

+ 

+             b. indicate if You modified the Licensed Material and

+                retain an indication of any previous modifications; and

+ 

+             c. indicate the Licensed Material is licensed under this

+                Public License, and include the text of, or the URI or

+                hyperlink to, this Public License.

+ 

+        2. You may satisfy the conditions in Section 3(a)(1) in any

+           reasonable manner based on the medium, means, and context in

+           which You Share the Licensed Material. For example, it may be

+           reasonable to satisfy the conditions by providing a URI or

+           hyperlink to a resource that includes the required

+           information.

+ 

+        3. If requested by the Licensor, You must remove any of the

+           information required by Section 3(a)(1)(A) to the extent

+           reasonably practicable.

+ 

+   b. ShareAlike.

+ 

+      In addition to the conditions in Section 3(a), if You Share

+      Adapted Material You produce, the following conditions also apply.

+ 

+        1. The Adapter's License You apply must be a Creative Commons

+           license with the same License Elements, this version or

+           later, or a BY-SA Compatible License.

+ 

+        2. You must include the text of, or the URI or hyperlink to, the

+           Adapter's License You apply. You may satisfy this condition

+           in any reasonable manner based on the medium, means, and

+           context in which You Share Adapted Material.

+ 

+        3. You may not offer or impose any additional or different terms

+           or conditions on, or apply any Effective Technological

+           Measures to, Adapted Material that restrict exercise of the

+           rights granted under the Adapter's License You apply.

+ 

+ 

+ Section 4 -- Sui Generis Database Rights.

+ 

+ Where the Licensed Rights include Sui Generis Database Rights that

+ apply to Your use of the Licensed Material:

+ 

+   a. for the avoidance of doubt, Section 2(a)(1) grants You the right

+      to extract, reuse, reproduce, and Share all or a substantial

+      portion of the contents of the database;

+ 

+   b. if You include all or a substantial portion of the database

+      contents in a database in which You have Sui Generis Database

+      Rights, then the database in which You have Sui Generis Database

+      Rights (but not its individual contents) is Adapted Material,

+ 

+      including for purposes of Section 3(b); and

+   c. You must comply with the conditions in Section 3(a) if You Share

+      all or a substantial portion of the contents of the database.

+ 

+ For the avoidance of doubt, this Section 4 supplements and does not

+ replace Your obligations under this Public License where the Licensed

+ Rights include other Copyright and Similar Rights.

+ 

+ 

+ Section 5 -- Disclaimer of Warranties and Limitation of Liability.

+ 

+   a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE

+      EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS

+      AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF

+      ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,

+      IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,

+      WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR

+      PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,

+      ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT

+      KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT

+      ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.

+ 

+   b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE

+      TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,

+      NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,

+      INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,

+      COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR

+      USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN

+      ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR

+      DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR

+      IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.

+ 

+   c. The disclaimer of warranties and limitation of liability provided

+      above shall be interpreted in a manner that, to the extent

+      possible, most closely approximates an absolute disclaimer and

+      waiver of all liability.

+ 

+ 

+ Section 6 -- Term and Termination.

+ 

+   a. This Public License applies for the term of the Copyright and

+      Similar Rights licensed here. However, if You fail to comply with

+      this Public License, then Your rights under this Public License

+      terminate automatically.

+ 

+   b. Where Your right to use the Licensed Material has terminated under

+      Section 6(a), it reinstates:

+ 

+        1. automatically as of the date the violation is cured, provided

+           it is cured within 30 days of Your discovery of the

+           violation; or

+ 

+        2. upon express reinstatement by the Licensor.

+ 

+      For the avoidance of doubt, this Section 6(b) does not affect any

+      right the Licensor may have to seek remedies for Your violations

+      of this Public License.

+ 

+   c. For the avoidance of doubt, the Licensor may also offer the

+      Licensed Material under separate terms or conditions or stop

+      distributing the Licensed Material at any time; however, doing so

+      will not terminate this Public License.

+ 

+   d. Sections 1, 5, 6, 7, and 8 survive termination of this Public

+      License.

+ 

+ 

+ Section 7 -- Other Terms and Conditions.

+ 

+   a. The Licensor shall not be bound by any additional or different

+      terms or conditions communicated by You unless expressly agreed.

+ 

+   b. Any arrangements, understandings, or agreements regarding the

+      Licensed Material not stated herein are separate from and

+      independent of the terms and conditions of this Public License.

+ 

+ 

+ Section 8 -- Interpretation.

+ 

+   a. For the avoidance of doubt, this Public License does not, and

+      shall not be interpreted to, reduce, limit, restrict, or impose

+      conditions on any use of the Licensed Material that could lawfully

+      be made without permission under this Public License.

+ 

+   b. To the extent possible, if any provision of this Public License is

+      deemed unenforceable, it shall be automatically reformed to the

+      minimum extent necessary to make it enforceable. If the provision

+      cannot be reformed, it shall be severed from this Public License

+      without affecting the enforceability of the remaining terms and

+      conditions.

+ 

+   c. No term or condition of this Public License will be waived and no

+      failure to comply consented to unless expressly agreed to by the

+      Licensor.

+ 

+   d. Nothing in this Public License constitutes or may be interpreted

+      as a limitation upon, or waiver of, any privileges and immunities

+      that apply to the Licensor or You, including from the legal

+      processes of any jurisdiction or authority.

+ 

+ 

+ =======================================================================

+ 

+ Creative Commons is not a party to its public

+ licenses. Notwithstanding, Creative Commons may elect to apply one of

+ its public licenses to material it publishes and in those instances

+ will be considered the “Licensor.” The text of the Creative Commons

+ public licenses is dedicated to the public domain under the CC0 Public

+ Domain Dedication. Except for the limited purpose of indicating that

+ material is shared under a Creative Commons public license or as

+ otherwise permitted by the Creative Commons policies published at

+ creativecommons.org/policies, Creative Commons does not authorize the

+ use of the trademark "Creative Commons" or any other trademark or logo

+ of Creative Commons without its prior written consent including,

+ without limitation, in connection with any unauthorized modifications

+ to any of its public licenses or any other arrangements,

+ understandings, or agreements concerning use of licensed material. For

+ the avoidance of doubt, this paragraph does not form part of the

+ public licenses.

+ 

+ Creative Commons may be contacted at creativecommons.org.

+ 

file removed
-177
@@ -1,177 +0,0 @@ 

- # Makefile for Sphinx documentation

- #

- 

- # You can set these variables from the command line.

- SPHINXOPTS    =

- SPHINXBUILD   = sphinx-build

- PAPER         =

- BUILDDIR      = _build

- 

- # User-friendly check for sphinx-build

- ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)

- $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)

- endif

- 

- # Internal variables.

- PAPEROPT_a4     = -D latex_paper_size=a4

- PAPEROPT_letter = -D latex_paper_size=letter

- ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

- # the i18n builder cannot share the environment and doctrees with the others

- I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

- 

- .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext

- 

- help:

- 	@echo "Please use \`make <target>' where <target> is one of"

- 	@echo "  html       to make standalone HTML files"

- 	@echo "  dirhtml    to make HTML files named index.html in directories"

- 	@echo "  singlehtml to make a single large HTML file"

- 	@echo "  pickle     to make pickle files"

- 	@echo "  json       to make JSON files"

- 	@echo "  htmlhelp   to make HTML files and a HTML help project"

- 	@echo "  qthelp     to make HTML files and a qthelp project"

- 	@echo "  devhelp    to make HTML files and a Devhelp project"

- 	@echo "  epub       to make an epub"

- 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"

- 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"

- 	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"

- 	@echo "  text       to make text files"

- 	@echo "  man        to make manual pages"

- 	@echo "  texinfo    to make Texinfo files"

- 	@echo "  info       to make Texinfo files and run them through makeinfo"

- 	@echo "  gettext    to make PO message catalogs"

- 	@echo "  changes    to make an overview of all changed/added/deprecated items"

- 	@echo "  xml        to make Docutils-native XML files"

- 	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"

- 	@echo "  linkcheck  to check all external links for integrity"

- 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"

- 

- clean:

- 	rm -rf $(BUILDDIR)/*

- 

- html:

- 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html

- 	@echo

- 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

- 

- dirhtml:

- 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml

- 	@echo

- 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

- 

- singlehtml:

- 	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml

- 	@echo

- 	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

- 

- pickle:

- 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle

- 	@echo

- 	@echo "Build finished; now you can process the pickle files."

- 

- json:

- 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json

- 	@echo

- 	@echo "Build finished; now you can process the JSON files."

- 

- htmlhelp:

- 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp

- 	@echo

- 	@echo "Build finished; now you can run HTML Help Workshop with the" \

- 	      ".hhp project file in $(BUILDDIR)/htmlhelp."

- 

- qthelp:

- 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp

- 	@echo

- 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \

- 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"

- 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FedoraWebsites.qhcp"

- 	@echo "To view the help file:"

- 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FedoraWebsites.qhc"

- 

- devhelp:

- 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp

- 	@echo

- 	@echo "Build finished."

- 	@echo "To view the help file:"

- 	@echo "# mkdir -p $$HOME/.local/share/devhelp/FedoraWebsites"

- 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FedoraWebsites"

- 	@echo "# devhelp"

- 

- epub:

- 	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub

- 	@echo

- 	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

- 

- latex:

- 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex

- 	@echo

- 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."

- 	@echo "Run \`make' in that directory to run these through (pdf)latex" \

- 	      "(use \`make latexpdf' here to do that automatically)."

- 

- latexpdf:

- 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex

- 	@echo "Running LaTeX files through pdflatex..."

- 	$(MAKE) -C $(BUILDDIR)/latex all-pdf

- 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

- 

- latexpdfja:

- 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex

- 	@echo "Running LaTeX files through platex and dvipdfmx..."

- 	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja

- 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

- 

- text:

- 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text

- 	@echo

- 	@echo "Build finished. The text files are in $(BUILDDIR)/text."

- 

- man:

- 	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man

- 	@echo

- 	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

- 

- texinfo:

- 	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo

- 	@echo

- 	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."

- 	@echo "Run \`make' in that directory to run these through makeinfo" \

- 	      "(use \`make info' here to do that automatically)."

- 

- info:

- 	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo

- 	@echo "Running Texinfo files through makeinfo..."

- 	make -C $(BUILDDIR)/texinfo info

- 	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."

- 

- gettext:

- 	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale

- 	@echo

- 	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."

- 

- changes:

- 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes

- 	@echo

- 	@echo "The overview file is in $(BUILDDIR)/changes."

- 

- linkcheck:

- 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck

- 	@echo

- 	@echo "Link check complete; look for any errors in the above output " \

- 	      "or in $(BUILDDIR)/linkcheck/output.txt."

- 

- doctest:

- 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest

- 	@echo "Testing of doctests in the sources finished, look at the " \

- 	      "results in $(BUILDDIR)/doctest/output.txt."

- 

- xml:

- 	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml

- 	@echo

- 	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."

- 

- pseudoxml:

- 	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml

- 	@echo

- 	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

file added
+120
@@ -0,0 +1,120 @@ 

+ # Fedora Websites docs

+ 

+ This repository documentation for maintaining and adding new Fedora websites.

+ 

+ ## Structure

+ 

+ ```

+ |-- README.md

+ |-- antora.yml ....................... 1.

+ |-- build.sh ......................... 2.

+ |-- preview.sh ....................... 3.

+ |-- site.yml ......................... 4.

+ `-- modules

+     `-- ROOT ......................... 5.

+         |-- assets

+         |   `-- images ............... 6.

+         |       `-- pizza.png

+         |-- nav.adoc ................. 7.

+         `-- pages .................... 8.

+             |-- architecture.adoc

+             |-- community.adoc

+             |-- faq.adoc

+             |-- index.adoc

+             |-- pizza-dough.adoc

+             `-- pizza-owen.adoc

+ ```

+ 

+ 1. Metadata definition.

+ 2. A script that does a local build. Uses docker.

+ 3. A script that shows a preview of the site in a web browser by running a local web server. Uses docker.

+ 4. A definition file for the build script.

+ 5. A "root module of this documentation component". Please read below for an explanation.

+ 6. **Images** to be used on any page.

+ 7. **Menu definition.** Also defines the hierarchy of all the pages.

+ 8. **Pages with the actual content.** They can be also organised into subdirectories if desired.

+ 

+ ## Components and Modules

+ 

+ Antora introduces two new terms:

+ 

+ * **Component** — Simply put, a component is a part of the documentation website with its own menu. Components can also be versioned. In the Fedora Docs, we use separate components for user documentation, the Fedora Poject, Fedora council, Mindshare, FESCO, but also subprojects such as CommOps or Modulartity.

+ * **Module** — A component can be broken down into multiple modules. Modules still share a single menu on the site, but their sources can be stored in different git repositories, even owned by different groups. The default module is called "ROOT" (that's what is in this example). If you don't want to use multiple modules, only use "ROOT". But to define more modules, simply duplicate the "ROOT" directory and name it anything you want. You can store modules in one or more git repositories.

+ 

+ ## Local preview

+ 

+ This repo includes scripts to build and preview the contents of this repository.

+ 

+ **NOTE**: Please note that if you reference pages from other repositoreis, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions.

+ 

+ Both scripts work on Fedora (using Podman) and macOS (using Docker).

+ 

+ To build and preview the site, run:

+ 

+ ```

+ $ ./build.sh && ./preview.sh

+ ```

+ 

+ The result will be available at http://localhost:8080

+ 

+ ### Installing Podman on Fedora

+ 

+ Fedora Workstation doesn't come with Podman preinstalled by default — so you might need to install it using the following command:

+ 

+ ```

+ $ sudo dnf install podman

+ ```

+ 

+ ### Preview as a part of the whole Fedora Docs site

+ 

+ You can also build the whole Fedora Docs site locally to see your changes in the whole context.

+ This is especially useful for checking if your `xref` links work properly.

+ 

+ To do this, you need to clone the main [Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o), modify the `site.yml` file to reference a repo with your changes, and build it.

+ Steps:

+ 

+ Clone the main repository and cd into it:

+ 

+ ```

+ $ git clone https://pagure.io/fedora-docs/docs-fp-o.git

+ $ cd docs-fp-o

+ ```

+ 

+ Find a reference to the repository you're changing in the `site.yml` file, and change it so it points to your change.

+ So for example, if I made a modification to the Modularity docs, I would find:

+ 

+ ```

+ ...

+    - url: https://pagure.io/fedora-docs/modularity.git

+      branches:

+        - master

+ ...

+ ```

+ 

+ And replaced it with a pointer to my fork:

+ ```

+ ...

+    - url: https://pagure.io/forks/asamalik/fedora-docs/modularity.git

+      branches:

+        - master

+ ...

+ ```

+ 

+ I could also point to a local repository, using `HEAD` as a branch to preview the what's changed without the need of making a commit.

+ 

+ **Note:** I would need to move the repository under the `docs-fp-o` directory, because the builder won't see anything above.

+ So I would need to create a `repositories` directory in `docs-fp-o` and copy my repository into it.

+ 

+ ```

+ ...

+    - url: ./repositories/modularity

+      branches:

+        - HEAD

+ ...

+ ```

+ 

+ To build the whole site, I would run the following in the `docs-fp-o` directory.

+ 

+ ```

+ $ ./build.sh && ./preview.sh

+ ```

file added
+18
@@ -0,0 +1,18 @@ 

+ # Name will be mostly visible in the URL. Treat it as an indentifier.

+ # Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page)

+ name: websites

+ 

+ # Title will be visible on the page.

+ title: Fedora Websites & Apps

+ 

+ # If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version.

+ version: master

+ 

+ # We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise.

+ start_page: ROOT:index

+ 

+ # This lists all the menu definitions of your component.

+ nav:

+ - modules/ROOT/nav.adoc

+ - modules/runbook/nav.adoc

+ - modules/dev/nav.adoc

empty or binary file added
@@ -0,0 +1,2 @@ 

+ * xref:fedora-release.adoc[Fedora Beta/GA Release]

+ * xref:translation-flow.adoc[Translation flow]

@@ -0,0 +1,126 @@ 

+ = Fedora Release

+ Rick Elrod

+ :page-authors: {author}

+ 

+ == Introduction

+ 

+ [NOTE]

+ ====

+ This assume you have a working setup already. See the other documents (e.g. the

+ one using Docker to get a development environment working) to get set up. Also,

+ if using a container-based environment, *ensure that the image you're using

+ reflects the latest `Dockerfile` in the root of the repository.*

+ ====

+ 

+ This document guides you through updating the websites for a release (beta or

+ GA) of Fedora.

+ 

+ Most of the work comes down to editing one file,

+ `sites/getfedora.org/release.yaml`. What follows are the important points to

+ note.

+ 

+ The `release.yaml` file is broken into several main sections, and the relevant

+ ones are `ga`, `beta`, `fmw`, and `gpg_keys`.

+ 

+ [NOTE]

+ ====

+ Pushing to the `staging` branch will update https://stg.getfedora.org/, which

+ pushing to the `master` branch will update https://getfedora.org/.

+ ====

+ 

+ === Beta Releases

+ 

+ If you are updating for a *beta* release, then you are free to leave the `ga`

+ section alone.

+ 

+ In the `beta` section, you'll want `show` to be `true`. This toggles whether we

+ show the beta download links at all. It also changes the banner at the top of

+ the website to announce the beta instead of the previous GA release. The

+ `announcement_release_number` dictates which version number is shown in that

+ announcement, so you'll want to bump it to the beta version being released.

+ 

+ Next you'll want to edit the `editions` section, still under the `beta` parent

+ section. Bump the `release_number` and set the `rc_version` to the RC that was

+ called gold/ready for release. Find this information out from releng, if

+ necessary.

+ 

+ == GA Releases

+ 

+ If you are updating for a *ga* release, then in the `beta` section, set `show`

+ to `false`, so that the beta downloads don't show, and the announcement at the

+ top of the landing site reflects the new GA. Check with someone (usually Paul

+ Frields (`stickster` on IRC) to find the URL of the Fedora Magazine announcement

+ for the release, and set `announcement_url` to that, in the `ga` section.

+ 

+ Next, bump the `release_number` and `rc_version` of each edition under

+ `editions`, using the `rc_version` that was declared gold/ready for

+ release. Find this information out from releng, if necessary.

+ 

+ == `releases.json` file

+ 

+ The next step is to produce the `releases.json` static file used by Fedora Media

+ Writer to produce its list of possible downloads. In the `fmw` section of

+ `release.yaml`, update the `releases_json` list to include the current non-EOL

+ versions of Fedora, including any current betas. If a version is in beta, set

+ the its `milestone` to `beta`. Otherwise set it to `final` or leave out the

+ field altogether.

+ 

+ For example:

+ 

+ [source,yaml]

+ ----

+ fmw:

+   ...

+   releases_json:

+     - version: 31

+       milestone: beta

+     - version: 30

+     - version: 29

+ ----

+ 

+ Once this is done, you'll need to actually generate the `releases.json` file.

+ 

+ If using a containerized environment, you can do this from the root of the

+ repository (replacing `sudo docker` with `podman` if you use Podman):

+ 

+ [source,bash]

+ ----

+ sudo docker run -it --rm -v "$(pwd):/opt/:z" fedora-websites python ./scripts/releases-json.py > sites/getfedora.org/static/releases.json

+ ----

+ 

+ Otherwise, if you're not using a containerized environment, you can run the

+ script yourself after installing the `python-fedfind` package. From the root of

+ the repository:

+ 

+ [source,bash]

+ ----

+ python3 sites/getfedora.org/scripts/releases-json.py > sites/getfedora.org/static/releases.json

+ ----

+ 

+ Check that releases.json looks sane (it should look like a blob of JSON), then

+ move on.

+ 

+ == Checksum Files

+ 

+ You'll need to import the checksum files into

+ `sites/getfedora.org/static/checksums/`. To find out which checksums you need to

+ import, you can simply do a build of getfedora.org, and it will error out and

+ tell you what is missing. This is by design to ensure we don't miss a checksum

+ file.

+ 

+ == GPG Keys

+ 

+ Lastly, you'll want to add the latest GPG key information to `gpg_keys` in

+ `release.yaml`. Follow the pattern that is already there, and move any now-EOL

+ releases into the `obsolete` subsection.

+ 

+ Import any new GPG keys into `sites/getfedora.org/static/keys/`, naming the file

+ `[short key id].txt` e.g. `57BBCCBA.txt`.

+ 

+ == Conclusion

+ 

+ That should be all. The old sites (namely spins, labs, alt, arm) which haven't

+ been ported to the new system need to be updated separately and are beyond the

+ scope of this document.

+ 

+ Commit your changes, and they should auto-deploy within two hours at most.

@@ -0,0 +1,140 @@ 

+ include::ROOT:partial$attributes.adoc[]

+ 

+ = Fedora Websites & Apps

+ Rick Elrod; Ryan Lerch, Justin W. Flory

+ :page-authors: {author}, {author_2}, {author_3}

+ :toc:

+ 

+ Welcome to the official documentation for the Fedora Websites & Apps Team.

+ 

+ 

+ [[about]]

+ == About our team

+ 

+ The Fedora Websites & Apps Team improves Fedora's image and creates user-friendly interfaces for users and contributors on the Internet.

+ We are a community-led team compromised of contributors from around the world.

+ The key goals of the team includes the following activities:

+ 

+ * Consolidate key Fedora Project websites into a single uniform scheme.

+ * Develop front-end and back-end components of Fedora's online web applications.

+ * Maintain content that doesn't fall under any particular sub-project.

+ * Generally, making the sites as fun and exciting as the project they represent!

+ 

+ [[about-revamp]]

+ === Websites & Apps Community Revamp Objective

+ 

+ The team was rebooted in 2021 as part of the https://fedoraproject.org/wiki/Objectives/Websites_%26_Apps_Community_Revamp[Websites & Apps Community Revamp Objective].

+ We are a growing team of developers with a range of skills and interests.

+ This Objective started for a few reasons:

+ 

+ * Better coordination to facilitate a growing interest in Fedora's web presence

+ * Involving diverse contributors to take part in a knowledgeable group helping maintain the Fedora Project's websites and apps in line with modern web standards.

+ 

+ 

+ [[collaborations]]

+ == Our collaborations

+ 

+ In order to work in a community with as many diverse projects and stakeholders as the Fedora Project, our team aims to communicate regularly with different community members in Fedora.

+ Work on specific websites is coordinated by the appropriate sub-projects and/or project lead(s).

+ 

+ Here is a list of our frequent collaborators:

+ 

+ [[collaborations-fedora]]

+ === Fedora sub-projects

+ 

+ * https://fedoraproject.org/wiki/Design[*Design Team*]:

+   Create designs, wireframes, and other visual content to guide development efforts

+ * *Infrastructure*:

+   Support on back-end technologies and hosting official Fedora Project infrastructure.

+ * *Localization Team*:

+   Translates strings across Fedora websites and apps into different languages.

+ * xref:mindshare::index.adoc[*Mindshare Committee*]:

+   W&A Team holds one seat on the Fedora Mindshare Committee.

+ 

+ [[collaborations-friends]]

+ === Friends of Fedora

+ 

+ * xref:cpe::index.adoc[*Red Hat Community Platform Engineering* (CPE)]:

+   A Red Hat team dedicated to the Fedora and CentOS projects where they contribute to the infrastructure and release engineering.

+ * https://www.redhat.com/en/blog/channel/red-hat-open-source-program-office[*Red Hat Open Source Program Office engineers*]:

+   A Red Hat team that supports various Open Source technology initiatives across the Red Hat technology ecosystem.

+ 

+ 

+ [[work]]

+ == Our work

+ 

+ The W&A Team updates and maintains the code bases for Fedora's websites and web applications.

+ We work on a variety of tasks suitable for both new and experienced contributors.

+ 

+ [[work-tasks]]

+ === Example tasks

+ 

+ * Adding temporary content to websites

+ * Coding design mockups provided by the Design Team

+ * Updating server-side code

+ * Improving language and accessibility support

+ * Revamping websites to improve user experience

+ * Writing documentation for contributors

+ 

+ 

+ [[bug]]

+ == Report a bug

+ 

+ Find a bug on one of our websites?

+ See https://fedoraproject.org/wiki/How_to_fix_bugs_on_the_Fedora_Project_website[these instructions on fixing bugs].

+ Otherwise please report them on our https://pagure.io/fedora-websites[Pagure repository].

+ 

+ 

+ 

+ [[contact]]

+ == Contact us

+ 

+ Have questions or want to know more?

+ Get in touch with our team in the following places:

+ 

+ * *Asynchronous*:

+ ** link:++{COMMS-DISCOURSE}++[Fedora Discussion]

+ ** link:++{COMMS-LISTSERV}++[Mailing list]

+ * *Synchronous*:

+ ** link:++ircs://{COMMS-IRC-SERVER}:{COMMS-IRC-SERVER-PORT}/{COMMS-IRC}++[IRC]

+ ** link:++{COMMS-MATRIX}++[Matrix]

+ ** link:++{COMMS-TELEGRAM}++[Telegram]

+ 

+ == Membership

+ 

+ In order to become a member of the Fedora Website & Apps Team, the applicant must be register at link:++https://accounts.fedoraproject.org++[Fedora Accounts] and set up an account with the link:++https://pagure.io++[Pagure] gitforge.

+ 

+ By becoming a Fedora Contributor, you accept these terms.

+ 

+ * link:++https://fedoraproject.org/wiki/Legal:Fedora_Project_Contributor_Agreement++[Fedora Project Contributor Agrement (FPCA)]

+ * link:++https://docs.fedoraproject.org/en-US/project/code-of-conduct/++[Code of Conduct]

+ 

+ == Are You New to Web Development?

+ We flag tickets that are suitable for new contributors and those whom are newer to html, css, js, and python. If you aren't sure where to start, or cannot find documentation that you are looking for, get in touch with one of our team members and they will help point you in the right direction.

+ 

+ One of the goals of our revamp is to offer mentorship to those who are new to the field, or just interested in advancing their skills. If you are interested in mentorship, get in touch with one of our admins and they will help connect you with someone for mentorship opportunities.

+ 

+ == Are you an experienced Web Developer?

+ We often have tickets that demand more advanced knowledge of the technologies in our stack, and as web development is such a fast moving field, we are always interested to work with developers that bring something new to the table. Do you see something that you would like to work on? Please get in touch with us.

+ 

+ == Fedora's Website Tech Stacks

+ * Fedora Community Blog: Wordpress

+ * Fedora Websites: Flask, Jinja, HTML, CSS3, JavaScript, Python 3

+ * Fedora Docs: Asciidoc

+ 

+ == Resources

+ The W&A Team is made up of people who work on all levels of the tech stack. We value perspectives and experience from all positions of the tech stack. Check out these resources for your own setup. We are always working to expand our instructional material and documentation.

+ 

+ === Documentation

+ * link:++https://fedoraproject.org/w/uploads/1/19/Websitesandappsrevamp_logicmodel.png++[Fedora Websites Revamp Logic Model]: An overview of the Websites Team revamp

+ * link:++https://developer.fedoraproject.org/tech/languages/python/python-installation.html++[Fedora Developer Python]

+ * link:++https://developer.fedoraproject.org/tech/languages/python/flask-installation.html++[Fedora Developer Flask]

+ * For those interested in php and working with the link:++https://communityblog.fedoraproject.org++[Fedora Community Blog]

+ * link:++https://fedoramagazine.org/howto-install-wordpress-fedora/++[Wordpress Local Setup Instructions]: This article will help you setup a local wordpress deployment on Fedora.

+ 

+ == Code Repositories

+ * link:++https://pagure.io/fedora-websites++[Fedora Websites]

+ * link:++https://pagure.io/fedora-web/websites/++[Fedora Main Website]

+ * link:++https://github.com/fedora-infra/fedbadges++[Fedora Badges]

+ * link:++https://github.com/fedora-infra/noggin++[Fedora Account System(FAS)]

+ * link:++https://pagure.io/fedora-docs/docs-fp-o++[Fedora Docs]

@@ -0,0 +1,314 @@ 

+ == Webites Release SOP

+ 

+ === Preparing the website for a new release cycle

+ 

+ * Obsolete GPG key

+ +

+ One month after a Fedora release the release number 'FXX-2' (i.e. 1

+ month after F21 release, F19 will be EOL) will be EOL (End of Life). At

+ this point we should drop the GPG key from the list in `+verify/+` and

+ move the keys to the obsolete keys page in keys/obsolete.html.

+ * Update GPG key

+ +

+ After another couple of weeks and as the next release approaches, watch

+ the fedora-release package for a new key to be added. Use the

+ update-gpg-keys script in the fedora-web git repository to add it to

+ `+static/+`. Manually add it to `+/keys+` and `+/verify+` in all

+ websites where we use these keys:

+ ** arm.fpo

+ ** getfedora.org

+ ** labs.fpo

+ ** spins.fpo

+ * Steps

+ ** Get a copy of the new key(s) from the fedora-release repo, you will

+ find FXX-primary and FXX-secondary keys. Save them in `+./tools+` to

+ make the update easier. https://pagure.io/fedora-repos

+ ** Start by editing `+./tools/update-gpg-keys+` and adding the key-ids

+ of any obsolete keys to the obsolete_keys list.

+ ** Then run that script to add the new key(s) to the fedora.gpg block:

+ +

+ ....

+ fedora-web git:(master) cd tools/

+ tools git:(master) ./update-gpg-keys RPM-GPG-KEY-fedora-23-primary

+ tools git:(master) ./update-gpg-keys RPM-GPG-KEY-fedora-23-secondary

+ ....

+ +

+ This will add the key(s) to the keyblock in `+static/fedora.gpg+` and

+ create a text file for the key in `+static/$KEYID.txt+` as well. Verify

+ that these files have been created properly and contain all the keys

+ that they should.

+ ** Handy checks:

+ +

+ ....

+ gpg static/fedora.gpg

+ 

+ or

+ 

+ gpg static/$KEYID.txt

+ ....

+ ** Adding `+--with-fingerprint+` option will add the fingerprint to the

+ output

+ +

+ The output of fedora.gpg should contain only the actual keys, not the

+ obsolete keys. The single text files should contain the correct

+ information for the uploaded key.

+ ** Next, add new key(s) to the list in `+data/verify.html+` and move the

+ new key informations in the keys page in

+ `+data/content/keys/index.html+`. A script to aid in generating the HTML

+ code for new keys is in `+./tools/make-gpg-key-html+`. It will print

+ HTML to stdout for each RPM-GPG-KEY-* file given as arguments. This is

+ suitable for copy/paste (or directly importing if your editor supports

+ this). Check the copied HTML code and select if the key info is for a

+ primary or secondary key (output says 'Primary or Secondary').

+ +

+ ....

+ tools git:(master) ./make-gpg-key-html RPM-GPG-KEY-fedora-23-primary

+ ....

+ +

+ Build the website with `+make en test+` and carefully verify that the

+ data is correct. Please double check all keys in

+ `+http://localhost:5000/en/keys+` and

+ `+http://localhost:5000/en/verify+`.

+ +

+ [NOTE]

+ .Note

+ ====

+ NOTE: the tool will give you an outdated output, adapt it to the new

+ websites and bootstrap layout!

+ ====

+ 

+ === Update website for Alpha release

+ 

+ * Create the fXX-alpha branch from master

+ +

+ ....

+ fedora-web git:(master) git push origin master:refs/heads/f23-alpha

+ ....

+ +

+ and checkout to the new branch:

+ +

+ ....

+ fedora-web git:(master) git checkout -t -b f23-alpha origin/f23-alpha

+ ....

+ * Update the global variables changing `+curr_state+` to Alpha for all

+ architectures.

+ * Add Alpha banner uploading it to

+ `+static/images/banners/f23alpha.png+` which should appear in every

+ `+${PRODUCT}/download/index.html+` page. Make sure the banner is shown

+ in all sidebars, also in labs, spins, and arm.fp.o.

+ * Check all Download links and paths in

+ `+${PRODUCT}/prerelease/index.html+` You can find all paths in bapp01

+ (sudo su - mirrormanager first) or you can look at the downlaod page

+ `+http://dl.fedoraproject.org/pub/alt/stage+`

+ * Add CHECKSUM files to `+static/checksums+` and verify that the paths

+ are correct. The files should be in sundries01 and you can query them

+ with:

+ +

+ ....

+ $ find /pub/fedora/linux/releases/test/23-Alpha/ -type f -name \

+ *CHECKSUM* -exec cp '{}' . \;

+ ....

+ +

+ Remember to add the right checksums to the right websites (same path).

+ * Add EC2 AMI IDs for Alpha. All IDs now are in the globalvar.py file.

+ We get all data from there, even the redirect path to trac the AMI IDs.

+ We now also have a script which is useful to get all the AMI IDs

+ uploaded with fedimg. Execute it to get the latest uploads, but don't

+ run the script too early, as new builds are added constantly.

+ +

+ ....

+ fedora-web git:(fXX-alpha) python ~/fedora-web/tools/get_ami.py

+ ....

+ * Add CHECKSUM files also to `+http://spins.fedoraproject.org+` in

+ `+static/checksums+`. Verify the paths are correct in

+ `+data/content/verify.html+`. (see point e) to query them on

+ sundries01). Same for labs.fpo and arm.fpo.

+ * Verify all paths and links on http://spins.fpo, labs.fpo and arm.fpo.

+ * Update Alpha Image sizes and pre_cloud_composedate in

+ `+./build.d/globalvar.py+`. Verify they are right in Cloud images and

+ Docker image.

+ * Update the new POT files and push them to translation repository every

+ time you change text strings.

+ * Add this build to stg.fedoraproject.org (ansible syncStatic.sh.stg) to

+ test the pages online.

+ * Release Date:

+ ** Merge the fXX-alpha branch to master and correct conflicts manually

+ ** Remove the redirect of prerelease pages in ansible, edit:

+ `+ansible/playbooks/include/proxies-redirects.yml+`. Ask a sysadmin-main

+ to run the playbook.

+ ** When ready and about 90 minutes before Release Time, push to master

+ ** Tag the commit as new release and push it too:

+ +

+ ....

+ $ git tag -a FXX-Alpha -m 'Releasing Fedora XX Alpha'

+ $ git push --tags

+ ....

+ ** If needed follow link:#fire-in-the-hole[Fire in the Hole]

+ 

+ === Update website for Beta release

+ 

+ * Create the fXX-alpha branch from master

+ +

+ ....

+ fedora-web git:(master) git push origin master:refs/heads/f23-beta

+ ....

+ +

+ and checkout to the new branch:

+ +

+ ....

+ fedora-web git:(master) git checkout -t -b f23-beta origin/f23-beta

+ ....

+ * Update the global variables changing `+curr_state+` to Beta for all

+ architectures.

+ * Add Beta banner uploading it to `+static/images/banners/f23beta.png+`

+ which should appear in every `+${PRODUCT}/download/index.html+` page.

+ Make sure the banner is shown in all sidebars, also in labs, spins, and

+ arm.fp.o.

+ * Check all Download links and paths in

+ `+${PRODUCT}/prerelease/index.html+` You can find all paths in bapp01

+ (sudo su - mirrormanager first) or you can look at the downlaod page

+ `+http://dl.fedoraproject.org/pub/alt/stage+`

+ * Add CHECKSUM files to `+static/checksums+` and verify that the paths

+ are correct. The files should be in sundries01 and you can query them

+ with:

+ +

+ ....

+ $ find /pub/fedora/linux/releases/test/23-Beta/ -type f -name \

+ *CHECKSUM* -exec cp '{}' . \;

+ ....

+ +

+ Remember to add the right checksums to the right websites (same path).

+ * Add EC2 AMI IDs for Beta. All IDs now are in the globalvar.py file. We

+ get all data from there, even the redirect path to trac the AMI IDs. We

+ now also have a script which is useful to get all the AMI IDs uploaded

+ with fedimg. Execute it to get the latest uploads, but don't run the

+ script too early, as new builds are added constantly.

+ +

+ ....

+ fedora-web git:(fXX-beta) python ~/fedora-web/tools/get_ami.py

+ ....

+ * Add CHECKSUM files also to `+http://spins.fedoraproject.org+` in

+ `+static/checksums+`. Verify the paths are correct in

+ `+data/content/verify.html+`. (see point e) to query them on

+ sundries01). Same for labs.fpo and arm.fpo.

+ * Remove static/checksums/Fedora-XX-Alpha* in all websites.

+ * Verify all paths and links on http://spins.fpo, labs.fpo and arm.fpo.

+ * Update Beta Image sizes and pre_cloud_composedate in

+ `+./build.d/globalvar.py+`. Verify they are right in Cloud images and

+ Docker image.

+ * Update the new POT files and push them to translation repository every

+ time you change text strings.

+ * Add this build to stg.fedoraproject.org (ansible syncStatic.sh.stg) to

+ test the pages online.

+ * Release Date:

+ ** Merge the fXX-beta branch to master and correct conflicts manually

+ ** When ready and about 90 minutes before Release Time, push to master

+ ** Tag the commit as new release and push it too:

+ +

+ ....

+ $ git tag -a FXX-Beta -m 'Releasing Fedora XX Beta'

+ $ git push --tags

+ ....

+ ** If needed follow link:#fire-in-the-hole[Fire in the Hole]

+ 

+ === Update website for GA

+ 

+ * Create the fXX branch from master

+ +

+ ....

+ fedora-web git:(master) git push origin master:refs/heads/f23

+ ....

+ +

+ and checkout to the new branch:

+ +

+ ....

+ fedora-web git:(master) git checkout -t -b f23 origin/f23

+ ....

+ * Update the global variables changing `+curr_state+` to '' for all

+ architectures.

+ * Check all Download links and paths in

+ `+${PRODUCT}/download/index.html+` You can find all paths in bapp01

+ (sudo su - mirrormanager first) or you can look at the downlaod page

+ `+http://dl.fedoraproject.org/pub/alt/stage+`

+ * Add CHECKSUM files to `+static/checksums+` and verify that the paths

+ are correct. The files should be in sundries01 and you can query them

+ with:

+ +

+ ....

+ $ find /pub/fedora/linux/releases/23/ -type f -name \

+ *CHECKSUM* -exec cp '{}' . \;

+ ....

+ +

+ Remember to add the right checksums to the right websites (same path).

+ * At some point freeze translations. Add an empty PO_FREEZE file to

+ every website's directory you want to freeze.

+ * Add EC2 AMI IDs for GA. All IDs now are in the globalvar.py file. We

+ get all data from there, even the redirect path to trac the AMI IDs. We

+ now also have a script which is useful to get all the AMI IDs uploaded

+ with fedimg. Execute it to get the latest uploads, but don't run the

+ script too early, as new builds are added constantly.

+ +

+ ....

+ fedora-web git:(fXX) python ~/fedora-web/tools/get_ami.py

+ ....

+ * Add CHECKSUM files also to `+http://spins.fedoraproject.org+` in

+ `+static/checksums+`. Verify the paths are correct in

+ `+data/content/verify.html+`. (see point e) to query them on

+ sundries01). Same for labs.fpo and arm.fpo.

+ * Remove static/checksums/Fedora-XX-Beta* in all websites.

+ * Verify all paths and links on http://spins.fpo, labs.fpo and arm.fpo.

+ * Update GA Image sizes and pre_cloud_composedate in

+ `+./build.d/globalvar.py+`. Verify they are right in Cloud images and

+ Docker image.

+ * Update static/js/checksum.js and check if the paths and checksum still

+ match.

+ * Update the new POT files and push them to translation repository every

+ time you change text strings.

+ * Add this build to stg.fedoraproject.org (ansible syncStatic.sh.stg) to

+ test the pages online.

+ * Release Date:

+ ** Merge the fXX branch to master and correct conflicts manually

+ ** Add the redirect of prerelease pages in ansible, edit

+ `+ansible/playbooks/include/proxies-redirects.yml+`.

+ ** Ask a sysadmin-main to run playbook

+ ** Unfreeze translations by deleting the PO_FREEZE files

+ ** When ready and about 90 minutes before Release Time, push to master

+ ** Update the short links for the Cloud Images for 'Fedora XX', 'Fedora

+ XX-1' and 'Latest'

+ ** Tag the commit as new release and push it too:

+ +

+ ....

+ $ git tag -a FXX -m 'Releasing Fedora XX'

+ $ git push --tags

+ ....

+ ** If needed follow link:#fire-in-the-hole[Fire in the Hole]

+ 

+ === Fire in the hole

+ 

+ We now use ansible for everything, and normally use a regular build to

+ make the websites live. If something is not happening as expected, you

+ should get in contact with a sysadmin-main to run the ansible playbook

+ again.

+ 

+ All our puppet stuff, such as SyncStatic.sh and SyncTranslation.sh

+ scripts are now also in ansible!

+ 

+ Staging server app02 and production server bapp01 do not exist anymore,

+ now our staging websites are on sundries01.stg and the production on

+ sundries01. Change your scripts accordingly and as sysadmin-web you

+ should have access to those servers as before.

+ 

+ === Tips

+ 

+ * Merging branches

+ +

+ This can be useful if you're _sure_ all new changes on devel branch

+ should go into the master branch. Conflicts will be solved directly

+ accepting only the changes in the devel branch. If you're not 100% sure

+ do a normal merge and fix conflicts manually!

+ +

+ ....

+ $ git merge f23-beta

+ $ git checkout --theirs f23-beta [list of conflicting po files]

+ $ git commit

+ ....

@@ -0,0 +1,85 @@ 

+ = Translation flow (for Fedora websites)

+ Jan Kuparinen

+ :page-authors: {author}

+ 

+ == General

+ 

+ Fedora websites can be viewed in many languages. This page gives some details on how this happens.

+ 

+ === Tagging text

+ 

+ System needs to be told what strings needs to be translated.

+ Generally every text inside web page should be surrounded with tags:

+ 

+ [source,html]

+ ----

+ {% trans trimmed %}Translate this text.{% endtrans %}

+ ----

+ 

+ == Generating pot file

+ First we need to pull all translatable strings into a file called getfedora.org.pot

+ 

+ This file is generated by running:

+ 

+ [source,bash]

+ ----

+ podman run -it --rm -v "$(pwd):/opt/:z" fedora-websites ./scripts/translations-source.sh

+ ----

+ 

+ This file needs to be sent to link:++https://pagure.io/fedora-web/translations++[translations repository]

+ 

+ If you don't have access to the translations repository push it to fedora-websites and create a pull request and once approved it should be automatically sent to translations repository with 24 hours.

+ 

+ == Weblate process (How strings get translated)

+ 

+ Once getfedora.org.pot file is in the translations repository it will be pulled by Weblate system and merged into translatable strings.  It can then be translated by translators.

+ 

+ == Manual testing

+ [NOTE]

+ ====

+ Any translations made here will not get propagated to the weblate of final versions of the page.

+ ====

+ You can test the changes manually by:

+ 

+ 1)

+ Update strings to the language files

+ [source,bash]

+ ----

+ podman run -it --rm -v "$(pwd):/opt/:z" fedora-websites ./scripts/translations-update-local.sh

+ ----

+ 

+ Now edit desired language file, for example

+ 

+ [source,bash]

+ ----

+ nano sites/getfedora.org/translations/fi/LC_MESSAGES/messages.po

+ ----

+ Find the string you want to test, format inside file is:

+ 

+  `#: partials/templates/download_card.html:13`   Location(s) of string.

+  `msgid "Download"`   Text in english.

+  `msgstr "Lataa"`     Text in desired language.

+ 

+ 

+ Edit the `msgstr`

+ 

+ Once edited translations need to be compiled into more efficient format for the web server. This is done by running:

+ 

+ [source,bash]

+ ----

+ podman run -it --rm -v "$(pwd):/opt/:z" fedora-websites ./scripts/translations-compile-local.sh

+ ----

+ 

+ You can now change your browser setting to desired language and see how the translations are working out.

+ 

+ ---

+ 

+ === Description of translation scripts inside sites/getfedora.org/scripts

+ 

+ [NOTE]

+ ====

+ Technically scripts can be run without using podman, but will then require proper setup in the local machine. The instructions given above are safer for generic users.

+ ====

+ 

+ 

+ 

@@ -0,0 +1,12 @@ 

+ :comms-discourse: https://discussion.fedoraproject.org/c/project/websites/66

+ :comms-irc: #fedora-websites

+ :comms-irc-server: irc.libera.chat

+ :comms-irc-server-port: 6697

+ :comms-listserv: https://lists.fedoraproject.org/archives/list/websites@lists.fedoraproject.org/

+ :comms-matrix: https://matrix.to/#/#fedora-websites:matrix.org

+ :comms-telegram: https://t.me/joinchat/hWQIgi7L79k3Nzk5

+ :comms-video: https://meet.jit.si/fedora-websites-apps-meeting