Hi Jon,
Am 19.09.2021 um 20:18 schrieb Jon Murphy:
Excellent!
What do you think, would this get more people to read the wiki?
I think it would help! Anything that pushes more eyeballs to the wiki is very helpful!
I'm glad you like the idea too!
Collect and match all wiki pages to the CGIs.
I’d be happy to help with this.
Thank you! I'll get in touch when the file format is finalized.
Is the new file "manualpages" a link to the wiki? Or a text file full of info? Or?
It is a configuration file which links a wiki page to a CGI page:
[name of the cgi]=/path/to/wikipage
I'll document this better.
And how is a new "manualpages" file installed into a Core Update?
I don't know that either. So far I have only submitted code and let the maintainers do the rest :D
Jon
Regards, Leo
On Sep 19, 2021, at 9:34 AM, Leo-Andres Hofmann hofmann@leo-andres.de 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 ; } -- 2.27.0.windows.1