<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on KDE Blogs</title><link>https://blogs.kde.org/categories/documentation/</link><description>Recent content in Documentation on KDE Blogs</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 31 Mar 2026 18:04:10 +0300</lastBuildDate><atom:link href="https://blogs.kde.org/categories/documentation/index.xml" rel="self" type="application/rss+xml"/><item><title>Restoration of docs.kde.org</title><link>https://blogs.kde.org/2026/01/18/documentation/</link><pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate><author>Johnny Jazeix</author><guid>https://blogs.kde.org/2026/01/18/documentation/</guid><description>&lt;p&gt;&lt;strong&gt;Edit 25/01/2026&lt;/strong&gt;
documentation.yml is no more used, the documentation is built and published as part of the linux.yml and linux-qt6.yml pipelines. The post is updated to take this in account.&lt;/p&gt;
&lt;p&gt;For the past few years, generation of user documentation at &lt;a href="https://docs.kde.org/"&gt;docs.kde.org&lt;/a&gt; was not working. After a few months on working on the related &lt;a href="https://invent.kde.org/websites/docs-kde-org/-/issues/2"&gt;issue&lt;/a&gt;, we finally managed to make it functional again and it once again displays the documentation for almost 150 applications!&lt;/p&gt;
&lt;figure&gt;
 &lt;img class="img-fluid" alt="docs.kde.org website up-to-date" src="https://blogs.kde.org/2026/01/18/documentation/docs-kde-org.png"
 style="max-width: 100%; height: auto"
 /&gt;
&lt;/figure&gt;
&lt;h2 id="previous-issues"&gt;Previous issues&lt;/h2&gt;
&lt;p&gt;There were major issues with the previous workflow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The documentation generation and publication were done on a dedicated machine.&lt;/li&gt;
&lt;li&gt;It was a monolithic process: the generation of the documentation for all KDE projects was followed with the generation of the website and its publication.&lt;/li&gt;
&lt;li&gt;Since the arrival of Qt 6, it was not possible to easily update the process to take it into account, so no new documentation was generated.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For ease of maintenance, it would be better if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each application took care of generating its own documentation&lt;/li&gt;
&lt;li&gt;The website generation only cared about retrieving the existing documentation and building the website&lt;/li&gt;
&lt;li&gt;We could have an easy way to reproduce it locally&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-solution"&gt;Current solution&lt;/h2&gt;
&lt;h3 id="update-suse-qt610-image"&gt;Update suse-qt610 image&lt;/h3&gt;
&lt;p&gt;We use the suse-qt610 docker image to generate the documentation. The different packages needed to build the html/PDF files and generate the website have been &lt;a href="https://invent.kde.org/sysadmin/ci-images/-/blob/b0a9eb931639ff8a45ed30c001164466018982b3/suse-qt610/build.sh#L439-479"&gt;installed&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="generation-of-the-documentation"&gt;Generation of the documentation&lt;/h3&gt;
&lt;p&gt;We have created a new script &lt;a href="https://invent.kde.org/sysadmin/ci-utilities/-/blob/8f721fb820823b46390cdf622f93567f6ddfb7ca/generate-documentation.py"&gt;generate-documentation.py&lt;/a&gt; that will generate the documentation and publish the documentation for a project to a specific &lt;a href="https://invent.kde.org/teams/ci-artifacts/documentation/-/packages"&gt;registry&lt;/a&gt;.
To ensure the documentation is well-generated, developers need to ensure that their project has:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;'frameworks/kdoctools': '@latest-kf6'&lt;/code&gt; listed in its .kde-ci.yml&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kdoctools_install(po)&lt;/code&gt; in its CMakeLists.txt&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="local-generation"&gt;Local generation&lt;/h3&gt;
&lt;p&gt;To generate locally, you can use the following commands. First retrieve and run the latest image:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman pull invent-registry.kde.org/sysadmin/ci-images/suse-qt610:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman run --user&lt;span class="o"&gt;=&lt;/span&gt;root -it suse-qt610:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Inside it, clone your repository (the example will use GCompris-teachers handbook):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; builds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/documentation/gcompris-teachers-handbook
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; gcompris-teachers-handbook
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Clone the needed repositories and export the environment variables:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/websites/docs-kde-org.git docs-kde-org --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/sysadmin/ci-utilities.git --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/sysadmin/repo-metadata.git ci-utilities/repo-metadata/ --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_GITLAB_SERVER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://invent.kde.org/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_PACKAGE_PROJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teams/ci-artifacts/suse-qt6.10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_CACHE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/user/caches/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CI_COMMIT_REF_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;master
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CI_PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;gcompris-teachers-handbook
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CI_JOB_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;job_id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;DBLATEX_BASE_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;/docs-kde-org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;SGML_CATALOG_FILES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;/_install/share/kf6/kdoctools/customization/catalog.xml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: we only need the docs-kde-org repository because of PDF generation. There is some work in progress to reduce this dependency.&lt;/p&gt;
&lt;p&gt;Retrieve the dependencies and build the documentation:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 -u ci-utilities/run-ci-build.py --project &lt;span class="nv"&gt;$CI_PROJECT_NAME&lt;/span&gt; --branch &lt;span class="nv"&gt;$CI_COMMIT_REF_NAME&lt;/span&gt; --platform Linux/Qt6/Shared
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 ci-utilities/generate-documentation.py --project &lt;span class="nv"&gt;$CI_PROJECT_NAME&lt;/span&gt; --output-folder webdoc --format html pdf --branch &lt;span class="nv"&gt;$CI_COMMIT_REF_NAME&lt;/span&gt; --doc-dir _staging/builds/gcompris-teachers-handbook/_install/share/doc/HTML/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The output will be in the &lt;code&gt;webdoc&lt;/code&gt; folder. You can copy this to your machine using &lt;code&gt;podman cp CONTAINERID:/builds/gcompris-teachers-handbook/webdoc/ .&lt;/code&gt; (use &lt;code&gt;podman ps&lt;/code&gt; to get the CONTAINERID).&lt;/p&gt;
&lt;h3 id="website-generation"&gt;Website generation&lt;/h3&gt;
&lt;p&gt;Now that each project generates its own documentation, we have reworked the existing website &lt;a href="https://invent.kde.org/websites/docs-kde-org"&gt;scripts&lt;/a&gt; to use these files instead of generating all of them again.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://invent.kde.org/websites/docs-kde-org/-/blob/master/kdedocs/docretriever.py?ref_type=heads"&gt;script&lt;/a&gt; will browse all the projects in KDE which have i18n branches in their &lt;a href="https://invent.kde.org/sysadmin/repo-metadata/"&gt;metadata&lt;/a&gt; and fetch the corresponding documentation (if it exists).&lt;/p&gt;
&lt;p&gt;The last step is to &lt;a href="https://invent.kde.org/websites/docs-kde-org/-/blob/master/search/do_xapian_index.sh?ref_type=heads"&gt;generate the indexes&lt;/a&gt; for the website's search feature, using Xapian.&lt;/p&gt;
&lt;h3 id="local-website-generation"&gt;Local website generation&lt;/h3&gt;
&lt;p&gt;To generate locally, you can use the following commands. First retrieve and run the latest image:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman pull invent-registry.kde.org/sysadmin/ci-images/suse-qt610:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman run --user&lt;span class="o"&gt;=&lt;/span&gt;root -it suse-qt610:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Inside it, clone the needed repositories and create the needed &lt;code&gt;logs&lt;/code&gt; folder:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; builds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/websites/docs-kde-org.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; docs-kde-org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/sysadmin/ci-utilities.git --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://invent.kde.org/sysadmin/repo-metadata.git ci-utilities/repo-metadata/ --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You will also need to generate a gitlab token from your &lt;a href="https://invent.kde.org/-/user_settings/personal_access_tokens"&gt;invent account&lt;/a&gt;. Make sure the &lt;code&gt;read_api&lt;/code&gt; scope is selected!&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_GITLAB_SERVER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://invent.kde.org/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_GITLAB_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;generated_token
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_PACKAGE_PROJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teams/ci-artifacts/suse-qt6.10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;KDECI_CACHE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/user/caches/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;PYTHONPATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;/ci-utilities/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CI_COMMIT_REF_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;master
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CI_PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;docs-kde-org
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Generate the website, copy static files and run the xapian indexing:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p logs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./kdedocgen.py -r -s -l doclogconfig.ini -c docgen_conf.ini
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./create_generated_used.php work &amp;gt;website/generated_used.inc.php 2&amp;gt;logs/genused.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KDECI_PACKAGE_PROJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teams/ci-artifacts/suse-qt5.15 python3 -u ci-utilities/run-ci-build.py --project &lt;span class="nv"&gt;$CI_PROJECT_NAME&lt;/span&gt; --branch &lt;span class="nv"&gt;$CI_COMMIT_REF_NAME&lt;/span&gt; --platform Linux/Qt5/Shared --only-setup-environment
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KDECI_PACKAGE_PROJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teams/ci-artifacts/suse-qt6.10 python3 -u ci-utilities/run-ci-build.py --project &lt;span class="nv"&gt;$CI_PROJECT_NAME&lt;/span&gt; --branch &lt;span class="nv"&gt;$CI_COMMIT_REF_NAME&lt;/span&gt; --platform Linux/Qt6/Shared --only-setup-environment
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -R _install/share/doc/HTML/en/kdoctools5-common website/trunk_kf5/en/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -R _install/share/doc/HTML/en/kdoctools6-common website/trunk_kf6/en/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp -R search/ website/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./website/search/do_xapian_index.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The output will be in the &lt;code&gt;website&lt;/code&gt; folder.&lt;/p&gt;
&lt;h3 id="website-deployment"&gt;Website deployment&lt;/h3&gt;
&lt;p&gt;The website repository has its own scheduled pipeline (once a week) to generate the website and publish it.&lt;/p&gt;
&lt;p&gt;The deployment is done using the &lt;a href="https://invent.kde.org/sysadmin/ci-notary-service"&gt;ci-notary&lt;/a&gt; service.&lt;/p&gt;
&lt;h2 id="future-plans"&gt;Future plans&lt;/h2&gt;
&lt;p&gt;There are still multiple issues to tackle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Most non-ASCII languages (CJK, Arabic...) are not supported for PDF generation. We have two contributors in Season of KDE who will dig into finding a solution to improve this!&lt;/li&gt;
&lt;li&gt;We have several hardcoded paths/links to Qt 6/KF 6. We need to drop those for when Qt 7/KF 7 comes (&lt;strong&gt;edit 25/01/2026&lt;/strong&gt;: this has been handled in this &lt;a href="https://invent.kde.org/sysadmin/ci-utilities/-/commit/d378497a943bc51278764a953e8c85e953f30d22"&gt;commit&lt;/a&gt;!).&lt;/li&gt;
&lt;li&gt;Updating deprecated documentation where it makes sense.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>API documentation porting sprint</title><link>https://blogs.kde.org/2024/11/13/api-documentation-porting-sprint/</link><pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate><author>Farid Abdelnour</author><guid>https://blogs.kde.org/2024/11/13/api-documentation-porting-sprint/</guid><description>&lt;figure&gt;
 &lt;img class="img-fluid" src="https://blogs.kde.org/2024/11/13/api-documentation-porting-sprint/sprint-port-card.png"
 style="max-width: 100%; height: auto"
 /&gt;
&lt;/figure&gt;
&lt;p&gt;It was once said over the &lt;a href="https://mail.kde.org/pipermail/kde-devel/2024-July/002849.html"&gt;grapevine&lt;/a&gt; that: &amp;quot;Our C++ API documentation has some issues, our QML API documentation has a lot of issues.&amp;quot;&lt;/p&gt;
&lt;p&gt;And it was true, but that is to change soon! As you might know, there is an ongoing effort to &lt;a href="https://invent.kde.org/teams/documentation/sprints/-/boards"&gt;port our documentation&lt;/a&gt; from &lt;a href="https://www.doxygen.nl/"&gt;Doxygen&lt;/a&gt; to &lt;a href="https://doc.qt.io/qt-6/qdoc-index.html"&gt;QDoc&lt;/a&gt;, and you can help with that.&lt;/p&gt;
&lt;p&gt;This is a &lt;a href="https://invent.kde.org/teams/goals/streamlined-application-development-experience/-/issues/10"&gt;task&lt;/a&gt; that has been adopted by the &lt;a href="https://phabricator.kde.org/T17396"&gt;Streamlined Application Development Experience&lt;/a&gt; championed by &lt;a href="https://nicolasfella.de/"&gt;Nicolas Fella&lt;/a&gt; and &lt;a href="https://pointieststick.com/"&gt;Nate Graham&lt;/a&gt; as part of the &lt;a href="https://kde.org/goals/"&gt;KDE Goals&lt;/a&gt; initiative.&lt;/p&gt;
&lt;p&gt;We would like to invite you to join our porting sprint effort to finish this task. On &lt;strong&gt;November 14th at 1PM UTC&lt;/strong&gt;, we'll be hanging out in the &lt;a href="https://matrix.to/#/%23kde-streamlined-app-dev:kde.org"&gt;Matrix room&lt;/a&gt; working on this. Hope to see you there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Some prerequisites:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ability to use a terminal&lt;/li&gt;
&lt;li&gt;Extra disk space (30GB minimum)&lt;/li&gt;
&lt;li&gt;Some familiarity with APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://invent.kde.org/teams/goals/streamlined-application-development-experience/-/issues/10#note_1052720"&gt;Check out the instructions&lt;/a&gt; prepared by &lt;a href="https://rabbitictranslator.com/"&gt;Thiago Sueto&lt;/a&gt; on how to get started porting a project to QDoc.&lt;/p&gt;</description></item><item><title>My Work on Documentation (June/July)</title><link>https://blogs.kde.org/2021/07/30/my-work-documentation-junejuly/</link><pubDate>Fri, 30 Jul 2021 00:00:00 +0000</pubDate><author>Schwarzer</author><guid>https://blogs.kde.org/2021/07/30/my-work-documentation-junejuly/</guid><description>&lt;p&gt;After two month in documentation I can tell you this: documentation in general is quite alive and kicking. :) From the outside you might see outdated content here and there, but there are quite a few people working on improving that. Of course, as most things, it is a never-ending effort and every helping hand is appreciated. If you are interested in helping, please talk to us on &lt;a href="https://mail.kde.org/mailman/listinfo/kde-doc-english"&gt;our mailing list&lt;/a&gt;. One of the more time-consuming tasks is currently porting documentation from &lt;a href="https://techbase.kde.org/Welcome_to_KDE_TechBase"&gt;TechBase&lt;/a&gt; to the new &lt;a href="https://develop.kde.org/"&gt;Developer Portal&lt;/a&gt;. It's basically copy&amp;amp;paste with some adjustments, so volunteers welcome :)&lt;/p&gt;
&lt;p&gt;For me the time flew by blazingly fast. In the beginning ... there was Akademy, the first conference for me. It meant getting up at 7 to go to work, joining Akademy when I came back home and staying up till midnight or longer for the last talks or events to finish. Processing and carving out the outcome of the three documentation BoF sessions is still on my todo list.&lt;/p&gt;
&lt;p&gt;In the time before and since Akademy, I have been busy reading through several years of documentation improvement planning backlog and fixing lots of smaller issues in existing docs in the wikis and on the new Developer Portal. This also included cleaning up some outdated content (EBN has been decommissioned) and proofreading other people's documentation-related merge requests when asked to do so.&lt;/p&gt;
&lt;p&gt;Unfortunately, &lt;a href="https://invent.kde.org/websites/volunteers-akademy-kde-org/-/merge_requests/1"&gt;my first contribution to one of the website's Git repositories&lt;/a&gt; is still unmerged at the time of writing. I blame me for that not keeping track of my own merge requests. But it also shows one of the things we need to put more effort into: closing merge requests (one way or another). Also, check your own merge requests once in a while. You can do that by using the following URL and putting you account name at the end:
&lt;a href="https://invent.kde.org/dashboard/merge_requests?scope=all&amp;amp;state=opened&amp;amp;author_username="&gt;https://invent.kde.org/dashboard/merge_requests?scope=all&amp;state=opened&amp;author_username=&lt;/a&gt;&lt;b&gt;your_user_name&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For some projects (e.g. KApiDox there had been several merge requests open for a year or longer. One was a data loss issue when generating api documentation from the parent folder (..). &lt;a href="https://invent.kde.org/frameworks/kapidox/-/merge_requests/17"&gt;Adriaan was so kind to fix that&lt;/a&gt; even if only because he wanted me to stop nagging. ;) These open merge requests and some open issues are now merged with only one merge request remaining which will probably be replaced by a new one from last week: &lt;a href="https://invent.kde.org/frameworks/kapidox/-/merge_requests/20"&gt;preparing KApiDox to be run in a docker container&lt;/a&gt;. That one I am working on with a friend with stronger Python and Docker foo.&lt;/p&gt;
&lt;p&gt;Another issue with KApiDox was that it could not be run locally anymore due to restrictions on fetching KDE accounts information from SVN. &lt;a href="https://invent.kde.org/frameworks/kapidox/-/merge_requests/19"&gt;I changed that accounts parsing behaviour&lt;/a&gt; to be an optional command line switch &lt;a href="https://invent.kde.org/websites/quality-kde-org/-/merge_requests/2"&gt;which is run on api.kde.org&lt;/a&gt; but not locally. You are still free to fetch the KDE accounts file manually and point KApiDox to it.&lt;/p&gt;
&lt;p&gt;But while tooling was my main scope during that first time, it's not what I actually wanted to do. It just jumped in my way. :) So I also collected opinions, topics and ideas for the actual documentation. These days I am starting to write porting notes meant mainly for third-party developers who will start porting their KF5 applications to KF6 soon. More on that one later.&lt;/p&gt;
&lt;p&gt;To conclude these first two months, I can say, wherever you look, you will find issues to fix, things to improve, content to update ... And many of these things are not hard to do. So if you ever wondered how you could start contributing to KDE, documentation is great place to start. :)&lt;/p&gt;</description></item></channel></rss>