From: Leo Hofmann <hofmann@leo-andres.de>
To: development@lists.ipfire.org
Subject: Re: [PATCH v2 1/3] webinterface: Add links to the configuration wiki
Date: Wed, 06 Oct 2021 12:18:09 +0200 [thread overview]
Message-ID: <61c8563c-d39c-bc89-1670-4f4f9fd4d9b2@leo-andres.de> (raw)
In-Reply-To: <EF1E94CD-2332-489F-902E-9DEF6638F5AF@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5991 bytes --]
Hi Jon,
I have just tested the file. Great job, it works flawlessly!
Now I'm looking forward to more feedback and hope this will be integrated soon :)
Best regards,
Leo
Am 06.10.2021 um 05:18 schrieb Jon Murphy:
> Leo,
>
> This should be complete. But I don't know how to test.
>
> Jon
>
>
>
>
>> On Oct 4, 2021, at 10:40 PM, Jon Murphy <jcmurphy26(a)gmail.com> wrote:
>>
>> Here is a quick template to get started:
>>
>> <manualpages>
>>
>>
>>
>> I'll keep going tomorrow.
>>
>>
>> Jon
>>
>>
>>
>>> On Oct 4, 2021, at 12:42 PM, Leo Hofmann <hofmann(a)leo-andres.de> wrote:
>>>
>>> Hi all,
>>>
>>> @Bernhard, Thank you again for testing this patch!
>>>
>>> @Jon, This is the file format of the manualpages configuration:
>>>
>>> [cgi basename]=[path/to/page]
>>>
>>> For example:
>>>
>>>> BASE_URL=https://wiki.ipfire.org
>>>> index=configuration/system/startpage
>>> Results in "index.cgi" linking to "https://wiki.ipfire.org/configuration/system/startpage".
>>> Please note that the path does not start with a slash, because the get_manualpage_url function always adds one between the base url and the path.
>>>
>>> Unfortunately, I couldn't figure out how to include all this in the installer and I need help with that.
>>> So I would suggest we wait until this has been approved and integrated.
>>>
>>> Regards,
>>> Leo
>>>
>>> Am 28.09.2021 um 14:55 schrieb Bernhard Bitsch:
>>>> Reviewed-by: Bernhard Bitsch <bbitsch(a)ipfire.org>
>>>> Tested-by: Bernhard Bitsch <bbitsch(a)ipfire.org>
>>>>
>>>> Am 28.09.2021 um 13:09 schrieb Leo-Andres Hofmann:
>>>>> 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(a)leo-andres.de>
>>>>> ---
>>>>> config/cfgroot/header.pl | 20 +++++++++++++++++++
>>>>> config/cfgroot/manualpages | 7 +++++++
>>>>> html/html/themes/ipfire/include/css/style.css | 13 ++++++++++++
>>>>> html/html/themes/ipfire/include/functions.pl | 17 +++++++++++++++-
>>>>> 4 files changed, 56 insertions(+), 1 deletion(-)
>>>>> create mode 100644 config/cfgroot/manualpages
>>>>>
>>>>> diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl
>>>>> index 79accbe8a..e97f90d67 100644
>>>>> --- a/config/cfgroot/header.pl
>>>>> +++ b/config/cfgroot/header.pl
>>>>> @@ -91,7 +91,11 @@ if ( -d "/var/ipfire/langs/${language}/" ) {
>>>>> };
>>>>> };
>>>>> +### Initialize user manual
>>>>> +my %manualpages = ();
>>>>> +&General::readhash("${General::swroot}/main/manualpages", \%manualpages);
>>>>> +### Load selected language and theme functions
>>>>> require "${swroot}/langs/en.pl";
>>>>> require "${swroot}/langs/${language}.pl";
>>>>> eval `/bin/cat /srv/web/ipfire/html/themes/ipfire/include/functions.pl`;
>>>>> @@ -553,3 +557,19 @@ sub colorize {
>>>>> return $string;
>>>>> }
>>>>> }
>>>>> +
>>>>> +# Get user manual URL for the specified configuration page, returns empty if no entry is configured
>>>>> +sub get_manualpage_url() {
>>>>> + my ($cgi_page) = @_;
>>>>> +
>>>>> + # Ensure base url is configured
>>>>> + return unless($manualpages{'BASE_URL'});
>>>>> +
>>>>> + # Return URL
>>>>> + if($cgi_page && defined($manualpages{$cgi_page})) {
>>>>> + return "$manualpages{'BASE_URL'}/$manualpages{$cgi_page}";
>>>>> + }
>>>>> +
>>>>> + # No manual page configured, return nothing
>>>>> + return;
>>>>> +}
>>>>> diff --git a/config/cfgroot/manualpages b/config/cfgroot/manualpages
>>>>> new file mode 100644
>>>>> index 000000000..e5ab1a13c
>>>>> --- /dev/null
>>>>> +++ b/config/cfgroot/manualpages
>>>>> @@ -0,0 +1,7 @@
>>>>> +# User manual base URL (without trailing slash)
>>>>> +BASE_URL=https://wiki.ipfire.org
>>>>> +
>>>>> +# Assign manual page URL path to CGI file ([cgi basename]=[path/to/page])
>>>>> +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..18931428e 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 = &Header::get_manualpage_url($scriptName);
>>>>> +if($manual_url) {
>>>>> + 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
>>>>> ;
>>>>> }
>>>>>
prev parent reply other threads:[~2021-10-06 10:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-28 11:09 Leo-Andres Hofmann
2021-09-28 11:09 ` [PATCH v2 2/3] make.sh: Add check-manualpages function Leo-Andres Hofmann
2021-09-28 12:55 ` Bernhard Bitsch
2021-09-28 11:09 ` [PATCH v2 3/3] Fix translations and clean general-functions.pl Leo-Andres Hofmann
2021-09-28 12:56 ` Bernhard Bitsch
2021-09-28 12:55 ` [PATCH v2 1/3] webinterface: Add links to the configuration wiki Bernhard Bitsch
2021-10-04 17:42 ` Leo Hofmann
2021-10-04 20:34 ` Bernhard Bitsch
2021-10-05 7:57 ` Leo Hofmann
2021-10-05 3:40 ` Jon Murphy
2021-10-06 3:18 ` Jon Murphy
2021-10-06 9:23 ` Bernhard Bitsch
2021-10-19 20:27 ` Leo Hofmann
2021-10-20 14:29 ` Michael Tremer
2021-10-06 10:18 ` Leo Hofmann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=61c8563c-d39c-bc89-1670-4f4f9fd4d9b2@leo-andres.de \
--to=hofmann@leo-andres.de \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox