{"id":6474,"date":"2026-06-29T13:12:47","date_gmt":"2026-06-29T12:12:47","guid":{"rendered":"https:\/\/pmortensen.eu\/world2\/?p=6474"},"modified":"2026-07-11T21:38:35","modified_gmt":"2026-07-11T20:38:35","slug":"fully-automated-setup-of-multiple-qmk-projects-from-scratch-incl-forks-and-vial","status":"publish","type":"post","link":"https:\/\/pmortensen.eu\/world2\/2026\/06\/29\/fully-automated-setup-of-multiple-qmk-projects-from-scratch-incl-forks-and-vial\/","title":{"rendered":"Fully automated setup of multiple QMK projects from scratch, incl. forks and Vial"},"content":{"rendered":"<p><!-- T H E   B E G I N N I N G . . .   Marker for editing in WordPress: qqqq --><\/p>\n<p>The short version:  &#8230; at scale: Multiple types (QMK, ZMK, ), different forks, different branches, different versions<\/p>\n<h2>Convenient development<\/h2>\n<p>&#8230; And yes, it takes up more disk space and initial bandwidth cost, but XXXX.<\/p>\n<p>Original vs. own custom changes<\/p>\n<p>Original without custom changes: Easy to change version, without being disrupted by uncommitted custom changes<\/p>\n<p>Easier to compare different branches and forks. (<Or is there a standard Git way?>)<\/p>\n<h2 id=\"naming_convention\">A naming convention<\/h2>\n<p>The general idea is to make it possible to XXX without having to invoke Git commands. By never having to change Git branch, this also makes it possible to avoid the confusion caused by the forced commits after making own changes.<\/p>\n<p>Incl. a prefix for all QMK and ZMK clones. To be sorted near each other \/ easier filtering.<\/p>\n<p>Original vs. own custom changes<\/p>\n<p>Forks vs. original. Different branches.<\/p>\n<p>Incl. naming convention for the .bin files. Date\/revision. USB-side version.<\/p>\n<p>Incl. naming convention for Python virtual environments.<\/p>\n<p>Optional: Information about the base version, version, date, and commit ID (applies to forks in most cases, e.g, Keychron&#8217;s fork, as the forks are in general not updated to track the main project)<\/p>\n<h2>How it works<\/h2>\n<p>The &#8220;XX&#8221; parameter is used to make run unattended, with. The main QMK is last to overrides setting the default QMK (temporarily) set by the previous clones.<\/p>\n<h2>Python virtual environments vs. &#8216;uv&#8217;<\/h2>\n<p>TBD<\/p>\n<h2>The command lines<\/h2>\n<p>Note <a href=\"https:\/\/www.reddit.com\/r\/Keychron\/comments\/1rtjrf8\/comment\/oafa144\/\">the branch confusion<\/a> in Keychron&#8217;s fork of QMK. For example, the &#8220;2025&#8221; in &#8220;wls_2025q1&#8221; and &#8220;2025q3&#8221; represent two different things&#8230;<\/p>\n<p>For:<\/p>\n<ul>\n<li>Keychron&#8217;s QMK fork, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Git\">Git<\/a> branch <a href=\"https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/wireless_playground\/keyboards\/keychron\/\"><strong><em>&#8220;wireless_playground&#8221;<\/em><\/strong><\/a>. Note: We roll back the version <a href=\"https:\/\/github.com\/Keychron\/qmk_firmware\/issues\/396#issuecomment-3062591906\">to B507EA (2025-03-25)<\/a>, because the 2025-05 release was incomplete (and the compiled result has never really been proven. And it broke compilation for the <a href=\"https:\/\/keychron.de\/collections\/k-pro-series-iso-keyboard\/products\/keychron-k10-pro-qmk-via-wireless-mechanical-keyboard-iso-layout-collection\">K&nbsp;Pro&nbsp;series<\/a> and <a href=\"https:\/\/www.keychron.com\/products\/keychron-q6-pro-qmk-via-wireless-custom-mechanical-keyboard-iso-layout-collection\">Q&nbsp;Pro&nbsp;series<\/a>). But note that there were some later keyboard-only <a href=\"https:\/\/github.com\/Keychron\/qmk_firmware\/commits\/wireless_playground\/\">releases in the branch<\/a> (&#8216;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Keyboard_layout#Physical_layouts\">ISO<\/a>&#8216; and &#8216;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Keyboard_layout#Physical_layouts\">JIS<\/a>&#8216; keyboard variants): Lemokey L1 ISO, Q2 Max JIS, Q3 Max JIS, and Q6 Max JIS.<\/li>\n<li>Keychron&#8217;s QMK fork, Git branch <a href=\"https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/wls_2025q1\/keyboards\/keychron\/\"><strong><em>&#8220;wls_2025q1&#8221;<\/em><\/strong><\/a><\/li>\n<li>Keychron&#8217;s QMK fork, Git branch <a href=\"https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/2025q3\/keyboards\/keychron\/\"><strong><em>&#8220;2025q3&#8221;<\/em><\/strong><\/a><\/li>\n<li>Main <a href=\"https:\/\/get.vial.today\">Vial<\/a> project. It isn&#8217;t clear what the (effective release) version is, but for now we assume both the firmware part and the GUI use the same version number (currently <a href=\"https:\/\/get.vial.today\/changelog\/release-0.7.5.html\">version 0.7.5<\/a> (2025-08))<\/li>\n<li>Main QMK project, Git branch <a href=\"https:\/\/github.com\/qmk\/qmk_firmware\/tree\/master\/keyboards\/keychron\">master<\/a> (it is the default branch, so it is not necessary to specify, unlike for Keychron). It isn&#8217;t necessary to specify the GitHub user (&#8220;qmk&#8221;) and repository name (&#8220;qmk_firmware&#8221;) either.<\/li>\n<\/ul>\n<p>Other notes:<\/p>\n<ol>\n<li>&#8220;-y&#8221; (or &#8220;&#8211;yes&#8221; (two ASCII dashes, not as rendered here)) to &#8216;qmk setup&#8217; (e.g., from <strong><em>qmk setup &#8211;help<\/em><\/strong> (two ASCII dashes, not as rendered here)) is suppressing the two prompts. As the main QMK project is the last in the sequence, the QMK home will end up being set to the main QMK project (not that it is that important; the current directory can just first be changed to the used repository before performing compiling, etc.).<\/li>\n<li>We also encode the (effective) <a href=\"https:\/\/docs.qmk.fm\/breaking_changes_history\">QMK version<\/a>, so alphabetic sorting will sort by date\/QMK version. That version is effectively fixed for the various branches in Keychron&#8217;s fork, but it will become out of date over time for the main QMK project (though the folder can just be renamed; it will break the QMK home, but it doesn&#8217;t really matter).<\/li>\n<\/ol>\n<pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\r\ncd $HOME # Not strictly necessary; the command lines\r\n         # are independent of the current directory\r\n\r\n\r\n# ================== Keychron: &quot;bluetooth_playground&quot; ==================\r\necho ; echo &quot;Start QMK setup for Keychron's fork, Git branch bluetooth_playground: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/bluetooth_playground\/keyboards\/keychron\/&gt;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground -b bluetooth_playground Keychron\/qmk_firmware\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2022-11_0.19_Keychron_fork_bluetooth_playground | wc -l\r\n\r\necho ; echo &quot;End QMK setup for Keychron's fork, Git branch bluetooth_playground:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\n# ================== Keychron: &quot;wireless_playground&quot; ==================\r\necho ; echo &quot;Start QMK setup for Keychron's fork, Git branch wireless_playground: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/wireless_playground\/keyboards\/keychron\/&gt;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground -b wireless_playground Keychron\/qmk_firmware\r\n\r\n# Roll back to the 2025-03-25 version (before the partial source code release, that also broke compilation, at least for some K Pro series keyboards):\r\ncd $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground\r\ngit checkout B507EA # 2025-03-25 (the latest before the two 2025-05-30 commits)\r\ngit submodule update --init --recursive\r\ncd $HOME\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_wireless_playground | wc -l\r\n\r\necho ; echo &quot;End QMK setup for Keychron's fork, Git branch wireless_playground:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\n# ================== Keychron: &quot;wls_2025q1&quot; ==================\r\necho ; echo &quot;Start QMK setup for Keychron's fork, Git branch wls_2025q1: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/wls_2025q1\/keyboards\/keychron\/&gt;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 -b wls_2025q1 Keychron\/qmk_firmware\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2025-02_0.28_Keychron_fork_wls_2025q1 | wc -l\r\n\r\necho ; echo &quot;End QMK setup for Keychron's fork, Git branch wls_2025q1:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\n# ================== Keychron: &quot;hall_effect_playground&quot; ==================\r\necho ; echo &quot;Start QMK setup for Keychron's fork, Git branch hall_effect_playground: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/hall_effect_playground\/keyboards\/keychron\/&gt;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground -b hall_effect_playground Keychron\/qmk_firmware\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2023-11_0.23_Keychron_fork_hall_effect_playground | wc -l\r\n\r\necho ; echo &quot;End QMK setup for Keychron's fork, Git branch hall_effect_playground:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\n# ================== Keychron: &quot;2025q3&quot; ==================\r\necho ; echo &quot;Start QMK setup for Keychron's fork, Git branch 2025q3: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/Keychron\/qmk_firmware\/tree\/2025q3\/keyboards\/keychron\/&gt;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 -b 2025q3 Keychron\/qmk_firmware\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2025-08_0.30_Keychron_fork_2025q3 | wc -l\r\n\r\necho ; echo &quot;End QMK setup for Keychron's fork, Git branch 2025q3:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n# ================== Main Vial project ==================\r\necho ; echo &quot;Start QMK setup for the main Vial project: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/vial-kb\/vial-qmk\/tree\/vial\/keyboards\/keychron&gt;\r\n#\r\n# We are treating Vial as just another QMK fork:\r\n#\r\n#   * Git branch = &quot;vial&quot;\r\n#   * GitHub user = &quot;vial-kb&quot;\r\n#   * GitHub repository (for that user) = &quot;vial-qmk&quot;\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main -b vial vial-kb\/vial-qmk\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main status\r\ngit -C $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_Vial_2025-08_0.7.5_main | wc -l\r\n\r\necho ; echo &quot;End QMK setup for the main Vial project:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\n# ================== Main QMK project ==================\r\necho ; echo &quot;Start QMK setup for the main QMK project: $(date +%FT%T_%N_ns)&quot; ; echo\r\n#\r\n# &lt;https:\/\/github.com\/qmk\/qmk_firmware\/tree\/master\/keyboards\/keychron&gt;\r\n#\r\n# We do ***not*** need to specify these (all defaults):\r\n#\r\n#   * Git branch\r\n#   * GitHub user\r\n#   * GitHub repository (for that user)\r\n#\r\nqmk setup --yes -H $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main\r\n\r\n# Confirm (current Git branch and current version):\r\ngit -C $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main status\r\ngit -C $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main log -3\r\n\r\n# Statistics (number of files, number of folders, and\r\n# the sum of the two, respectively)\r\nfind $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main -type f | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main -type d | wc -l\r\nfind $HOME\/Keyboard_firmware_QMK_2026-05_0.33_main | wc -l\r\n\r\necho ; echo &quot;End QMK setup for the main QMK project:   $(date +%FT%T_%N_ns)&quot; ; echo\r\n\r\n\r\nls -lsa $HOME | grep Keyboard_firmware\r\n\r\n# The end...\r\n<\/pre>\n<p>For example, for <strong><em>&#8220;wls_2025q1&#8221;<\/em><\/strong>, on my system it took about 5 minutes. The result is about 1.8&nbsp;GB (old unit) disk space for about 24,000&nbsp;files in about 6,500&nbsp;folders. The download size is about 0.9&nbsp;GB.<\/p>\n<p><!--\n\n  Transcripts:\n\n    <geany  \"$HOME\/temp2\/2026-06-22\/Transcript of QMK cloning branch 2025q3, on LMDE 7, 2026-06-22.txt\">\n--><\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Keychron\/comments\/1lwyebz\/comment\/n2mvu1v\/\">Sample instructions<\/a> for setting up for Git branch &#8216;wls_2025q1&#8217; in Keychron&#8217;s fork<\/li>\n<\/ul>\n<h2>Appendix A: &#8216;qmk setup&#8217; information<\/h2>\n<p>There isn&#8217;t a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Man_page\">man page<\/a> for the command line <strong><em>qmk setup<\/em><\/strong>, but there is a help option (slightly edited and formatted for clarity):<\/p>\n<pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\r\nqmk setup --help\r\n<\/pre>\n<p>Output:<\/p>\n<pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\r\nUsage: qmk setup [-h] [-H HOME] [-b BRANCH] [--baseurl BASEURL] [-y] [-n] [fork]\r\n\r\nPositional arguments:\r\n\r\n  fork                 The QMK firmware fork to clone.\r\n                       Default: qmk\/qmk_firmware\r\n\r\nOptions:\r\n\r\n  -h, --help           Show this help message and exit\r\n\r\n  -H, --home HOME      The location for QMK Firmware.\r\n                       Default: \/home\/embo\/qmk_firmware\r\n\r\n  -b, --branch BRANCH  The branch to clone. Default: master\r\n\r\n  --baseurl BASEURL    The URL all Git operations start from.\r\n                       Default: https:\/\/github.com\r\n\r\n  -y, --yes            Answer yes to all questions\r\n\r\n  -n, --no             Answer no to all questions\r\n<\/pre>\n<p><!--\n  LMDE 7:\n\n  To be resolved:\n\n    That is, after testing out the procedures in this\n    blog post, we conveniently have a clone to\n    search in, in this case '2025q3':\n\n    <https:\/\/github.com\/Keychron\/qmk_firmware\/blob\/2025q3\/keyboards\/keychron\/common\/rgb\/keychron_rgb.c#L496>\n       Is it a separate RGB animation mode?\n\n           RGB_MATRIX_CUSTOM_MIXED_RGB\n\n       Elaboration:\n\n         <https:\/\/www.reddit.com\/r\/Keychron\/comments\/1u8s84w\/comment\/ot5hcz4\/>\n\nAnd:\n\n  QMK unattended cloning of multiple repositories (to\n  test it actually works and have a demonstration):\n\n    A Codeberg place to test forks of the\n    QMK repo outside of GitHub on:\n\n      <https:\/\/codeberg.org\/astevan\/qmk_firmware>\n--><\/p>\n<p><!--\n  Code formatting template:\n    [code language=\"text\" gutter=\"false\"]\n    [\/code]\n--><\/p>\n<p><!--\n  For the Edit Overflow word list:\n\n  Other:\n\n--><\/p>\n<p><a href=\"https:\/\/www.keychron.com\/products\/keychron-b6-pro-ultra-slim-wireless-keyboard-iso-layout-collection?variant=42068298760281\">Keychron B6 Pro Ultra-Slim Wireless Keyboard ISO Layout Collection<\/a><\/p>\n<p><a href=\"https:\/\/pmortensen.eu\/world2\/2026\/07\/13\/the-zmk-based-keychron-keyboards-for-example-v6-ultra-8k-work-with-via\/\">Forward reference<\/a>.<\/p>\n<p><!-- T H E   E N D . . .   Marker for editing in WordPress: pppp --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The short version: &#8230; at scale: Multiple types (QMK, ZMK, ), different forks, different branches, different versions Convenient development &#8230; And yes, it takes up more disk space and initial bandwidth cost, but XXXX. Original vs. own custom changes Original &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/pmortensen.eu\/world2\/2026\/06\/29\/fully-automated-setup-of-multiple-qmk-projects-from-scratch-incl-forks-and-vial\/\"> <span class=\"screen-reader-text\">Fully automated setup of multiple QMK projects from scratch, incl. forks and Vial<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,43,23,28,26,35,16,38,40],"tags":[],"_links":{"self":[{"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/posts\/6474"}],"collection":[{"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/comments?post=6474"}],"version-history":[{"count":61,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/posts\/6474\/revisions"}],"predecessor-version":[{"id":6630,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/posts\/6474\/revisions\/6630"}],"wp:attachment":[{"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/media?parent=6474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/categories?post=6474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pmortensen.eu\/world2\/wp-json\/wp\/v2\/tags?post=6474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}