[PATCH 00/12] docs: Finish conversion of non-generated docs to rST and fix and cleanup CSS

Browse the results at: https://pipo.sk.gitlab.io/-/libvirt/-/jobs/4294950526/artifacts/website/inde... Peter Krempa (12): css: Drop styles for '#projects' id css: Drop style for '#changelog' id css: Drop style for 'p.image' selector css: Drop styles for '.mail' class css: Drop styles for '.gitmirror' class css: mobile: Replace tabs with spaces css: mobile: Fix responsive design of 'docs' and 'knowledgebase' pages css: mobile: Fix hiding of big logo in mobile layout css: mobile: Make colums in "3 column" mobile layout wider css: Fix styling of the "3 panel" pages docs: acl: Convert to 'rst' docs: index: Convert to 'rst' docs/acl.html.in | 101 ------------------------------ docs/acl.rst | 76 +++++++++++++++++++++++ docs/aclpolkit.rst | 2 +- docs/css/libvirt.css | 143 ++++++++----------------------------------- docs/css/mobile.css | 136 ++++++++++++++++++++-------------------- docs/index.html.in | 87 -------------------------- docs/index.rst | 70 +++++++++++++++++++++ docs/meson.build | 15 +---- 8 files changed, 245 insertions(+), 385 deletions(-) delete mode 100644 docs/acl.html.in create mode 100644 docs/acl.rst delete mode 100644 docs/index.html.in create mode 100644 docs/index.rst -- 2.40.1

There's nothing with such element id. The last mention was removed in 28183590754. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 73 -------------------------------------------- 1 file changed, 73 deletions(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index 82f95d4a68..f1705ab944 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -201,79 +201,6 @@ table tr td:hover { background: #c5dbd8; } -#projects { - margin: 0px; - border: 0px; - position: absolute; - top: 0px; - left: 0px; - width: 100%; -} - -#projects dl { - margin: 0px; - border: 0px solid white; - height: 180px; - position: absolute; - top: 0px; - left: 0px; -} - -#projects #p1 { - margin-left: 25%; - width: 75%; -} - -#projects #p2 { - margin-left: 50%; - width: 50%; -} - -#projects #p3 { - margin-left: 75%; - width: 25%; -} - -#projects dt, #projects dd { - padding: 0px; - margin: 0px; -} - -#projects #p1 dt, #projects #p1 dd { - width: 33%; -} - -#projects #p2 dt, #projects #p2 dd { - width: 50%; -} - -#projects #p3 dt, #projects #p3 dd { - width: 99%; -} - -#projects span { - font-size: 0.8em; - display: block; - padding-left: 1em; - padding-top: 0.5em; -} - -#projects a { - font-size: 0.8em; - display: block; - padding-left: 0.8em; - padding-top: 1em; -} - -#projects a { - color: white; - text-decoration: inherit; -} - -#projects span { - color: #ccc; -} - span.since { color: #3c857c; font-style: italic; -- 2.40.1

On a Tuesday in 2023, Peter Krempa wrote:
There's nothing with such element id. The last mention was removed in 28183590754.
Please drop the trailing period or rephrase the sentence to make it the commit id easier to select.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 73 -------------------------------------------- 1 file changed, 73 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The corresponding element was removed in 5e0211e0d3d7d01d5a49 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index f1705ab944..7ebe77c04b 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -158,11 +158,6 @@ h1 a, h2 a, h3 a, h4 a, h5 a { text-decoration: inherit; } -#changelog .author { - color: #3c857c; - font-weight: bold; -} - p.image { text-align: center; } -- 2.40.1

Last use was removed in b51afd97e56a6d9436f8706f952ebc6af647773c Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index 7ebe77c04b..ee3ec3a29c 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -158,10 +158,6 @@ h1 a, h2 a, h3 a, h4 a, h5 a { text-decoration: inherit; } -p.image { - text-align: center; -} - table { border-collapse: collapse; min-width: 60%; -- 2.40.1

Use was removed in 5042a5def6d2d088ed19b10a08e5f40b11b2c58d Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index ee3ec3a29c..ebe8ada60d 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -454,21 +454,6 @@ div.panel dd, margin-bottom: 1em; } -dl.mail dt { - background: rgb(0, 97, 95); - color: rgb(255, 255, 255); - font-weight: bold; - padding: 0.5em; -} -dl.mail dt a { - color: inherit; - text-decoration: none; -} -dl.mail dt a:hover { - color: rgb(255, 230, 0); - text-decoration: none; -} - td.enumvalue { white-space: nowrap; } -- 2.40.1

Last use was removed in 11850158bdae1572d587b10ea8cb7c12d4f61527 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index ebe8ada60d..e198f63fb8 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -510,15 +510,6 @@ td.enumvalue { margin: 2px; } -td.gitmirror { - font-size: smaller; - font-style: italic; -} - -td.gitmirror a { - color: inherit; -} - th p, td p { margin-top: 0px; margin-bottom: 0px; -- 2.40.1

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/mobile.css | 124 ++++++++++++++++++++++---------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/docs/css/mobile.css b/docs/css/mobile.css index ae833b6eea..c538f953fb 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -1,101 +1,101 @@ @media (max-width: 1000px) { #home { - width: 100%; - display: block; - margin: 0px; - background: white url(../logos/logo-banner-dark-256.png) no-repeat center center; - height: 94px; + width: 100%; + display: block; + margin: 0px; + background: white url(../logos/logo-banner-dark-256.png) no-repeat center center; + height: 94px; } #home a { - width: 100%; + width: 100%; } #search { - width: 100%; - display: block; - margin: 0px; - background: white; - padding: 0px; - height: 2em; + width: 100%; + display: block; + margin: 0px; + background: white; + padding: 0px; + height: 2em; } #search form { - padding: 5px; + padding: 5px; } body.index h1 { - display: none; + display: none; } #jumplinks { - padding: 0px; - display: block; - width: 100%; - text-align: center; - margin: 0px; - height: 1.3em; - font-size: 1em; - border-top: 3px solid rgb(60, 133, 124); - border-bottom: 3px solid rgb(60, 133, 124); + padding: 0px; + display: block; + width: 100%; + text-align: center; + margin: 0px; + height: 1.3em; + font-size: 1em; + border-top: 3px solid rgb(60, 133, 124); + border-bottom: 3px solid rgb(60, 133, 124); } #jumplinks ul { - display: block; - padding: 0px; - margin: 0px; + display: block; + padding: 0px; + margin: 0px; } #jumplinks li { - margin: 0px; - padding-left: 0.5em; - padding-right: 0.5em; + margin: 0px; + padding-left: 0.5em; + padding-right: 0.5em; } #nav { - border: 0px; + border: 0px; } #search.navhide { - display: none !IMPORTANT; + display: none !IMPORTANT; } #home.navhide { - position: fixed; - top: 0px; - z-index: 9001; - width: 6em; - display: block; - margin: 0px; - background: inherit; - height: 1.3em; - border-top: 3px solid rgb(60, 133, 124); - border-bottom: 3px solid rgb(60, 133, 124); - font-size: 1em; - text-indent: 0px; - font-weight: bold; - padding-left: 1em; + position: fixed; + top: 0px; + z-index: 9001; + width: 6em; + display: block; + margin: 0px; + background: inherit; + height: 1.3em; + border-top: 3px solid rgb(60, 133, 124); + border-bottom: 3px solid rgb(60, 133, 124); + font-size: 1em; + text-indent: 0px; + font-weight: bold; + padding-left: 1em; } #home.navhide a { - color: white; - text-decoration: none; + color: white; + text-decoration: none; } #home.navhide a:hover { - color: rgb(255, 230, 0); + color: rgb(255, 230, 0); } #jumplinks.navhide { - position: fixed; - text-align: right; - top: 0px; - z-index: 9000; - background: rgb(0, 95, 97); + position: fixed; + text-align: right; + top: 0px; + z-index: 9000; + background: rgb(0, 95, 97); } #jumplinks.navhide ul { - z-index: 9001; + z-index: 9001; } #body { - margin-top: 180px; + margin-top: 180px; } div.panel { - width: 80%; - float: none; - margin-bottom: 2em; + width: 80%; + float: none; + margin-bottom: 2em; } #advancedsearch { - margin-top: 4em; - border: 0px; - background: white; - color: black; + margin-top: 4em; + border: 0px; + background: white; + color: black; } } -- 2.40.1

When the pages were converted to rST it required changes to how the panels are created. This change was not reproduced in the specific media override for narrow displays and thus made those pages unusable. Note that two lines per document are needed as some rst2html5 versions format a <div class='section'> and others do a <section> element instead. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/mobile.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/css/mobile.css b/docs/css/mobile.css index c538f953fb..1a2ea6fcc3 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -87,6 +87,10 @@ #body { margin-top: 180px; } + #documentation section, + #documentation .section, + #knowledge-base section, + #knowledge-base .section, div.panel { width: 80%; float: none; -- 2.40.1

Use the '#index' id to select the proper page as the body element doesn't have 'index' class. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/mobile.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/css/mobile.css b/docs/css/mobile.css index 1a2ea6fcc3..43ca7ca482 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -20,7 +20,7 @@ #search form { padding: 5px; } - body.index h1 { + #index h1 { display: none; } #jumplinks { -- 2.40.1

On a Tuesday in 2023, Peter Krempa wrote:
Use the '#index' id to select the proper page as the body element doesn't have 'index' class.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/mobile.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
For patches 2 to 8: Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Use the full width of the parent box and drop the unnecessarily bigger margin. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/mobile.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/css/mobile.css b/docs/css/mobile.css index 43ca7ca482..daa459352b 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -92,7 +92,8 @@ #knowledge-base section, #knowledge-base .section, div.panel { - width: 80%; + width: 100%; + margin-left: 0px; float: none; margin-bottom: 2em; } -- 2.40.1

Use the same 'margin-bottom' bot for the normal and mobile layout fixing one of the panels touching the footer. Use same font size both for <h1> and <h2> used as the column titles as rst2html5 based on version can generate either of them. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 2 ++ docs/css/mobile.css | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index e198f63fb8..2f4daa4690 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -327,6 +327,7 @@ div.panel, { width: 24%; margin-left: 7%; + margin-bottom: 2em; float: left; background: rgb(230, 230, 230); } @@ -343,6 +344,7 @@ div.panel h2, background: rgb(0, 95, 97); color: rgb(255, 255, 255); text-align: center; + font-size: 1.6em; } #index.document h1 { diff --git a/docs/css/mobile.css b/docs/css/mobile.css index daa459352b..1b0bd8b350 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -95,7 +95,6 @@ width: 100%; margin-left: 0px; float: none; - margin-bottom: 2em; } #advancedsearch { margin-top: 4em; -- 2.40.1

The only special bit about the 'acl' page was the inclusion of the objects and permissions tables. We can do that by the '.. raw::' directive. One reference from 'aclpolkit.rst' needed to be updated to go with the new header anchor naming. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/acl.html.in | 101 --------------------------------------------- docs/acl.rst | 76 ++++++++++++++++++++++++++++++++++ docs/aclpolkit.rst | 2 +- docs/meson.build | 3 +- 4 files changed, 79 insertions(+), 103 deletions(-) delete mode 100644 docs/acl.html.in create mode 100644 docs/acl.rst diff --git a/docs/acl.html.in b/docs/acl.html.in deleted file mode 100644 index 268d3aebd3..0000000000 --- a/docs/acl.html.in +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> - <body> - <h1>Client access control</h1> - <p> - Libvirt's client access control framework allows administrators - to setup fine grained permission rules across client users, - managed objects and API operations. This allows client connections - to be locked down to a minimal set of privileges. - </p> - - <ul id="toc"></ul> - - <h2><a id="intro">Access control introduction</a></h2> - - <p> - In a default configuration, the libvirtd daemon has three levels - of access control. All connections start off in an unauthenticated - state, where the only API operations allowed are those required - to complete authentication. After successful authentication, a - connection either has full, unrestricted access to all libvirt - API calls, or is locked down to only "read only" (see 'Anonymous' - in the table below) operations, - according to what socket a client connection originated on. - </p> - - <p> - The access control framework allows authenticated connections to - have fine grained permission rules to be defined by the administrator. - Every API call in libvirt has a set of permissions that will - be validated against the object being used. For example, the - <code>virDomainSetSchedulerParametersFlags</code> method will - check whether the client user has the <code>write</code> - permission on the <code>domain</code> object instance passed - in as a parameter. Further permissions will also be checked - if certain flags are set in the API call. In addition to - checks on the object passed in to an API call, some methods - will filter their results. For example the <code>virConnectListAllDomains</code> - method will check the <code>search_domains</code> on the <code>connect</code> - object, but will also filter the returned <code>domain</code> - objects to only those on which the client user has the - <code>getattr</code> permission. - </p> - - <h2><a id="drivers">Access control drivers</a></h2> - - <p> - The access control framework is designed as a pluggable - system to enable future integration with arbitrary access - control technologies. By default, the <code>none</code> - driver is used, which does no access control checks at - all. At this time, libvirt ships with support for using - <a href="https://www.freedesktop.org/wiki/Software/polkit/">polkit</a> as a real access - control driver. To learn how to use the polkit access - driver consult <a href="aclpolkit.html">the configuration - docs</a>. - </p> - - <p> - The access driver is configured in the <code>libvirtd.conf</code> - configuration file, using the <code>access_drivers</code> - parameter. This parameter accepts an array of access control - driver names. If more than one access driver is requested, - then all must succeed in order for access to be granted. - To enable 'polkit' as the driver: - </p> - - <pre> -# augtool -s set '/files/etc/libvirt/libvirtd.conf/access_drivers[1]' polkit - </pre> - - <p> - And to reset back to the default (no-op) driver - </p> - - - <pre> -# augtool -s rm /files/etc/libvirt/libvirtd.conf/access_drivers - </pre> - - <p> - <strong>Note:</strong> changes to libvirtd.conf require that - the libvirtd daemon be restarted. - </p> - - <h2><a id="perms">Objects and permissions</a></h2> - - <p> - Libvirt applies access control to all the main object - types in its API. Each object type, in turn, has a set - of permissions defined. To determine what permissions - are checked for specific API call, consult the - <a href="html/index.html">API reference manual</a> - documentation for the API in question. - </p> - - <div id="include" filename="aclperms.htmlinc"/> - - </body> -</html> diff --git a/docs/acl.rst b/docs/acl.rst new file mode 100644 index 0000000000..06c248333f --- /dev/null +++ b/docs/acl.rst @@ -0,0 +1,76 @@ +===================== +Client access control +===================== + +Libvirt's client access control framework allows administrators to setup fine +grained permission rules across client users, managed objects and API +operations. This allows client connections to be locked down to a minimal set of +privileges. + +.. contents:: + +Access control introduction +--------------------------- + +In a default configuration, the libvirtd daemon has three levels of access +control. All connections start off in an unauthenticated state, where the only +API operations allowed are those required to complete authentication. After +successful authentication, a connection either has full, unrestricted access to +all libvirt API calls, or is locked down to only "read only" (see 'Anonymous' in +the table below) operations, according to what socket a client connection +originated on. + +The access control framework allows authenticated connections to have fine +grained permission rules to be defined by the administrator. Every API call in +libvirt has a set of permissions that will be validated against the object being +used. For example, the ``virDomainSetSchedulerParametersFlags`` method will +check whether the client user has the ``write`` permission on the ``domain`` +object instance passed in as a parameter. Further permissions will also be +checked if certain flags are set in the API call. In addition to checks on the +object passed in to an API call, some methods will filter their results. For +example the ``virConnectListAllDomains`` method will check the +``search_domains`` on the ``connect`` object, but will also filter the returned +``domain`` objects to only those on which the client user has the ``getattr`` +permission. + +Access control drivers +---------------------- + +The access control framework is designed as a pluggable system to enable future +integration with arbitrary access control technologies. By default, the ``none`` +driver is used, which does no access control checks at all. At this time, +libvirt ships with support for using +`polkit <https://www.freedesktop.org/wiki/Software/polkit/>`__ as a real access +control driver. To learn how to use the polkit access driver consult `the +configuration docs <aclpolkit.html>`__. + +The access driver is configured in the ``libvirtd.conf`` configuration file, +using the ``access_drivers`` parameter. This parameter accepts an array of +access control driver names. If more than one access driver is requested, then +all must succeed in order for access to be granted. To enable 'polkit' as the +driver: + +:: + + # augtool -s set '/files/etc/libvirt/libvirtd.conf/access_drivers[1]' polkit + +And to reset back to the default (no-op) driver + +:: + + # augtool -s rm /files/etc/libvirt/libvirtd.conf/access_drivers + +**Note:** changes to libvirtd.conf require that the libvirtd daemon be +restarted. + +Objects and permissions +----------------------- + +Libvirt applies access control to all the main object types in its API. Each +object type, in turn, has a set of permissions defined. To determine what +permissions are checked for specific API call, consult the `API reference +manual <html/index.html>`__ documentation for the API in question. + +.. raw:: html + + <div id="include" filename="aclperms.htmlinc"/> diff --git a/docs/aclpolkit.rst b/docs/aclpolkit.rst index 09e5d9ea27..07f4735001 100644 --- a/docs/aclpolkit.rst +++ b/docs/aclpolkit.rst @@ -26,7 +26,7 @@ the operations a user may perform on an object. Permission names ---------------- -The libvirt `object names and permission names <acl.html#perms>`__ are +The libvirt `object names and permission names <acl.html#objects-and-permissions>`__ are mapped onto polkit action names using the simple pattern: :: diff --git a/docs/meson.build b/docs/meson.build index 68359be0b4..8edb93333a 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -248,7 +248,8 @@ endforeach html_xslt_gen += { 'name': 'acl', - 'source': 'docs' / 'acl.html.in', + 'file': docs_rst2html5_gen.process('acl.rst'), + 'source': 'docs' / 'acl.rst', 'depends': aclperms_gen, } -- 2.40.1

Final piece of conversion of our non-generated pages to 'rst'. Special raw HTML is used for adding the appropriate code to fetch the blog planet. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/css/libvirt.css | 35 +++++++++++------- docs/css/mobile.css | 8 ++-- docs/index.html.in | 87 -------------------------------------------- docs/index.rst | 70 +++++++++++++++++++++++++++++++++++ docs/meson.build | 12 +----- 5 files changed, 98 insertions(+), 114 deletions(-) delete mode 100644 docs/index.html.in create mode 100644 docs/index.rst diff --git a/docs/css/libvirt.css b/docs/css/libvirt.css index 2f4daa4690..8dfec17047 100644 --- a/docs/css/libvirt.css +++ b/docs/css/libvirt.css @@ -105,8 +105,8 @@ main, width: 70em; } -main#index, -#index.document, +main#the-virtualization-api, +#the-virtualization-api.document, main#hvsupport, #hvsupport.document, main#documentation, @@ -319,7 +319,8 @@ h6:hover > a.headerlink { visibility: visible; } -div.panel, +#the-virtualization-api section, +#the-virtualization-api .section, #documentation section, #documentation .section, #knowledge-base section, @@ -332,7 +333,8 @@ div.panel, background: rgb(230, 230, 230); } -div.panel h2, +#the-virtualization-api section h2, +#the-virtualization-api .section h1, #documentation section h2, #documentation .section h1, #knowledge-base section h2, @@ -347,7 +349,7 @@ div.panel h2, font-size: 1.6em; } -#index.document h1 { +#the-virtualization-api > h1 { border: 0px; text-indent: 100%; white-space: nowrap; overflow: hidden; background: url(../logos/logo-banner-dark-800.png) no-repeat center center; @@ -412,21 +414,21 @@ br.clear { font-size: smaller; } -div.panel dd, +#the-virtualization-api dd, #documentation dd, #knowledge-base dd { font-size: smaller; } -div.panel a, +#the-virtualization-api a, #documentation a, #knowledge-base a { text-decoration: none; } -div.panel ul, -div.panel p, -div.panel dl, +#the-virtualization-api ul, +#the-virtualization-api p, +#the-virtualization-api dl, #documentation ul, #documentation p, #documentation dl, @@ -437,19 +439,26 @@ div.panel dl, margin: 0px; } -div.panel ul, +#the-virtualization-api li p +{ + padding-left: 0.5em; + padding-top: 0px; + padding-bottom: 0px; +} + +#the-virtualization-api ul, #documentation ul, #knowledge-base ul { margin-left: 1em; } -div.panel dt, +#the-virtualization-api dt, #documentation dt, #knowledge-base dt { margin: 0px; } -div.panel dd, +#the-virtualization-api dd, #documentation dd, #knowledge-base dd { margin: 0px; diff --git a/docs/css/mobile.css b/docs/css/mobile.css index 1b0bd8b350..2e223f468e 100644 --- a/docs/css/mobile.css +++ b/docs/css/mobile.css @@ -20,7 +20,8 @@ #search form { padding: 5px; } - #index h1 { + #the-virtualization-api > h1, + #the-virtualization-api > h2 { display: none; } #jumplinks { @@ -87,11 +88,12 @@ #body { margin-top: 180px; } + #the-virtualization-api section, + #the-virtualization-api .section, #documentation section, #documentation .section, #knowledge-base section, - #knowledge-base .section, - div.panel { + #knowledge-base .section { width: 100%; margin-left: 0px; float: none; diff --git a/docs/index.html.in b/docs/index.html.in deleted file mode 100644 index 3c065badb7..0000000000 --- a/docs/index.html.in +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <script type="text/javascript"> - <!-- - window.addEventListener("load", function() { fetchRSS() }); - // --> - </script> - </head> - <body id="index"> - <h1>The virtualization API</h1> - - <div class="panel"> - <h2>Introduction</h2> - <p> - The libvirt project: - </p> - <ul> - <li>is a toolkit to manage <a href="platforms.html">virtualization platforms</a></li> - <li>is accessible from C, Python, Perl, Go and more</li> - <li>is licensed under open source licenses</li> - <li>supports <a href="drvqemu.html">KVM</a>, - <a href="drvqemu.html">Hypervisor.framework</a>, - <a href="drvqemu.html">QEMU</a>, <a href="drvxen.html">Xen</a>, - <a href="drvvirtuozzo.html">Virtuozzo</a>, - <a href="drvesx.html">VMWare ESX</a>, - <a href="drvlxc.html">LXC</a>, - <a href="drvbhyve.html">BHyve</a> and - <a href="drivers.html">more</a></li> - <li>targets Linux, FreeBSD, <a href="windows.html">Windows</a> and - <a href="macos.html">macOS</a></li> - <li>is used by many <a href="apps.html">applications</a></li> - </ul> - <p>Recent / forthcoming <a href="news.html">release changes</a></p> - </div> - - <div class="panel"> - <h2>Quick Links</h2> - - <dl> - <dt><a href="contribute.html">New contributors</a></dt> - <dd>Get involved in the libvirt community & student outreach programs</dd> - - <dt><a href="securityprocess.html">Security vulnerabilities</a></dt> - <dd>View security notices and report vulnerabilities to the libvirt security response team</dd> - - <dt><a href="bugs.html">Bug reporting</a></dt> - <dd>View and report bugs in libvirt packages</dd> - - <dt><a href="format.html">XML configuration</a></dt> - <dd>Description of the XML schemas for - <a href="formatdomain.html">domains</a>, - <a href="formatnetwork.html">networks</a>, - <a href="formatnwfilter.html">network filtering</a>, - <a href="formatstorage.html">storage</a>, - <a href="formatstorageencryption.html">storage encryption</a>, - <a href="formatcaps.html">capabilities</a>, - <a href="formatdomaincaps.html">domain capabilities</a>, - <a href="formatstoragecaps.html">storage pool capabilities</a>, - <a href="formatnode.html">node devices</a>, - <a href="formatsecret.html">secrets</a>, - <a href="formatsnapshot.html">snapshots</a>, - <a href="formatcheckpoint.html">checkpoints</a>, - <a href="formatbackup.html">backup jobs</a></dd> - <dt><a href="https://wiki.libvirt.org">Wiki</a></dt> - <dd>Read further community contributed content</dd> - - <dt><a href="kbase/index.html">Knowledge base</a></dt> - <dd>Learn more about libvirt through knowledge base</dd> - </dl> - </div> - - <div class="panel"> - <h2>Blog Planet</h2> - <div id="planet"> - </div> - - <p> - Read more on the <a href="https://planet.virt-tools.org/">Virt Tools blog planet</a> - </p> - </div> - - <br class="clear"/> - - </body> -</html> diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000..d55c4bb94d --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,70 @@ +====================== +The virtualization API +====================== + +Introduction +------------ + +The libvirt project: + +- is a toolkit to manage `virtualization platforms <platforms.html>`__ +- is accessible from C, Python, Perl, Go and more +- is licensed under open source licenses +- supports + `KVM <drvqemu.html>`__, + `Hypervisor.framework <drvqemu.html>`__, + `QEMU <drvqemu.html>`__, + `Xen <drvxen.html>`__, + `Virtuozzo <drvvirtuozzo.html>`__, + `VMWare ESX <drvesx.html>`__, + `LXC <drvlxc.html>`__, + `BHyve <drvbhyve.html>`__ and + `more <drivers.html>`__ +- targets Linux, FreeBSD, `Windows <windows.html>`__ and `macOS <macos.html>`__ +- is used by many `applications <apps.html>`__ + +Recent / forthcoming `release changes <news.html>`__ + +Quick Links +----------- + +`New contributors <contribute.html>`__ + Get involved in the libvirt community & student outreach programs +`Security vulnerabilities <securityprocess.html>`__ + View security notices and report vulnerabilities to the libvirt security + response team +`Bug reporting <bugs.html>`__ + View and report bugs in libvirt packages +`XML configuration <format.html>`__ + Description of the XML schemas for + `domains <formatdomain.html>`__, + `networks <formatnetwork.html>`__, + `network filtering <formatnwfilter.html>`__, + `storage <formatstorage.html>`__, + `storage encryption <formatstorageencryption.html>`__, + `capabilities <formatcaps.html>`__, + `domain capabilities <formatdomaincaps.html>`__, + `storage pool capabilities <formatstoragecaps.html>`__, + `node devices <formatnode.html>`__, + `secrets <formatsecret.html>`__, + `snapshots <formatsnapshot.html>`__, + `checkpoints <formatcheckpoint.html>`__, + `backup jobs <formatbackup.html>`__ +`Wiki <https://wiki.libvirt.org>`__ + Read further community contributed content +`Knowledge base <kbase/index.html>`__ + Learn more about libvirt through knowledge base + +Blog Planet +----------- + +.. raw:: html + + <script type="text/javascript"> + <!-- + window.addEventListener("load", function() { fetchRSS() }); + // --> + </script> + <div id="planet"> </div> + +Read more on the `Virt Tools blog planet <https://planet.virt-tools.org/>`__ diff --git a/docs/meson.build b/docs/meson.build index 8edb93333a..2f0ecb2272 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -17,10 +17,6 @@ docs_assets = [ 'mstile-150x150.png', ] -docs_html_in_files = [ - 'index', -] - docs_rst_files = [ 'aclpolkit', 'advanced-tests', @@ -84,6 +80,7 @@ docs_rst_files = [ 'governance', 'hacking', 'hooks', + 'index', 'issue-handling', 'libvirt-go', 'libvirt-go-xml', @@ -230,13 +227,6 @@ html_xslt_gen = [] # source - source filename relative to repository root (optional, if there is no source) # depends - explicit dependency on other input (optional) -foreach name : docs_html_in_files - html_xslt_gen += { - 'name': name, - 'source': 'docs' / name + '.html.in', - } -endforeach - foreach name : docs_rst_files rst_file = '@0@.rst'.format(name) html_xslt_gen += { -- 2.40.1

On a Tuesday in 2023, Peter Krempa wrote:
Browse the results at:
https://pipo.sk.gitlab.io/-/libvirt/-/jobs/4294950526/artifacts/website/inde...
Peter Krempa (12): css: Drop styles for '#projects' id css: Drop style for '#changelog' id css: Drop style for 'p.image' selector css: Drop styles for '.mail' class css: Drop styles for '.gitmirror' class css: mobile: Replace tabs with spaces css: mobile: Fix responsive design of 'docs' and 'knowledgebase' pages css: mobile: Fix hiding of big logo in mobile layout css: mobile: Make colums in "3 column" mobile layout wider css: Fix styling of the "3 panel" pages docs: acl: Convert to 'rst' docs: index: Convert to 'rst'
docs/acl.html.in | 101 ------------------------------ docs/acl.rst | 76 +++++++++++++++++++++++ docs/aclpolkit.rst | 2 +- docs/css/libvirt.css | 143 ++++++++----------------------------------- docs/css/mobile.css | 136 ++++++++++++++++++++-------------------- docs/index.html.in | 87 -------------------------- docs/index.rst | 70 +++++++++++++++++++++ docs/meson.build | 15 +---- 8 files changed, 245 insertions(+), 385 deletions(-) delete mode 100644 docs/acl.html.in create mode 100644 docs/acl.rst delete mode 100644 docs/index.html.in create mode 100644 docs/index.rst
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Ján Tomko
-
Peter Krempa