Hi Adolf,
thank you for trying this and providing a new configuration file! This is great! Since you have also come across missing pages, I should realize Bernhard's idea and build a test script.
I'll implement all suggestions and submit again soon :)
Regards, Leo
Am 20.09.2021 um 15:06 schrieb Adolf Belka:
Hi Leo,
I tried it out on my testbed vm system and it is working fine.
I updated the manualpages file to include all the entries that are visible in my System menu - no wireless client option as I don't have that on my vm install. You just have to keep an eye out for changes in the url as I found for the fireinfo wiki page which is not under configuration/system so I got an oops couldn't find that page message but was able to quickly fix it.
My manualpages file now looks like:-
index=configuration/system/startpage pppsetup=configuration/system/dial qos=configuration/services/qos mail=configuration/system/mail_service remote=configuration/system/ssh backup=configuration/system/backup gui=configuration/system/userinterface fireinfo=fireinfo vulnerabilities=configuration/system/vulnerabilities shutdown=configuration/system/shutdown credits=configuration/system/credits
Regards,
Adolf.
On 19/09/2021 16:34, Leo-Andres Hofmann wrote:
This patch adds a little "help" icon to the page header. If a manual entry exists for a configuration page, the icon appears and offers a quick way to access the wiki. Wiki pages can be configured in the "manualpages" file.
Signed-off-by: Leo-Andres Hofmann hofmann@leo-andres.de------------------------
Hi all,
This patch is not yet complete, but I would like to present the idea. What do you think, would this get more people to read the wiki?
To test this, move the new file "manualpages" to /var/ipfire/main/ and CTRL+F5 reload the webif to refresh the CSS cache.
Still -to do- and where I could use some help: Add "manualpages" file to the updater/installer - how, and should this file be read-only? Collect and match all wiki pages to the CGIs.
Kind regards Leo
config/cfgroot/general-functions.pl | 18 +++++++++++++++++- config/cfgroot/manualpages | 3 +++ html/html/themes/ipfire/include/css/style.css | 13 +++++++++++++ html/html/themes/ipfire/include/functions.pl | 17 ++++++++++++++++- 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 config/cfgroot/manualpages
diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index de608e38b..54e23a535 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -24,7 +24,9 @@ $|=1; # line buffering $General::version = 'VERSION'; $General::swroot = 'CONFIG_ROOT'; $General::noipprefix = 'noipg-'; -$General::adminmanualurl = 'http://wiki.ipfire.org';
+# Base URL of the user manual +my $usermanual_base_url = 'https://wiki.ipfire.org'; require "${General::swroot}/network-functions.pl"; @@ -1421,4 +1423,18 @@ sub running_on_gcp() { return 0; } +# Get user manual url for the specified configuration page, returns "" if no entry is configured +sub get_usermanual_url() { + my ($config_page) = @_;
+ my %manual_pages = (); + &readhash("${General::swroot}/main/manualpages", %manual_pages);
+ if($config_page && defined($manual_pages{$config_page})) { + return $usermanual_base_url . '/' . $manual_pages{$config_page}; + }
+ return ""; +}
1; diff --git a/config/cfgroot/manualpages b/config/cfgroot/manualpages new file mode 100644 index 000000000..02dac5be6 --- /dev/null +++ b/config/cfgroot/manualpages @@ -0,0 +1,3 @@ +index=configuration/system/startpage +pppsetup=configuration/system/dial +qos=configuration/services/qos diff --git a/html/html/themes/ipfire/include/css/style.css b/html/html/themes/ipfire/include/css/style.css index b92f476c4..661773675 100644 --- a/html/html/themes/ipfire/include/css/style.css +++ b/html/html/themes/ipfire/include/css/style.css @@ -169,6 +169,19 @@ iframe { margin-bottom: 1em; } +#main_header > * { + display: inline-block; + vertical-align: baseline; +}
+#main_header > span { + margin-left: 0.8em; +}
+#main_header img { + padding: 0; +}
#footer { height: 2.5em; margin-bottom: 1em; diff --git a/html/html/themes/ipfire/include/functions.pl b/html/html/themes/ipfire/include/functions.pl index 9f12bbe59..d352a7d96 100644 --- a/html/html/themes/ipfire/include/functions.pl +++ b/html/html/themes/ipfire/include/functions.pl @@ -170,7 +170,22 @@ END print <<END <div class="bigbox fixed"> <div id="main_inner" class="fixed"> - <h1>$title</h1> + <div id="main_header"> + <h1>$title</h1> +END +;
+# Print user manual link +my $manual_url = &General::get_usermanual_url($scriptName); +if($manual_url ne "") { + print <<END + <span><a href="$manual_url" title="$Lang::tr{'online help en'}" target="_blank"><img src="/images/help-browser.png" alt="$Lang::tr{'online help en'}"></a></span> +END +; +}
+print <<END + </div> END ; }