From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH v2 1/3] webinterface: Add links to the configuration wiki
Date: Wed, 20 Oct 2021 15:29:19 +0100 [thread overview]
Message-ID: <31061822-6DFA-42B1-A030-70C53E72594D@ipfire.org> (raw)
In-Reply-To: <6609ef74-0d11-9b4f-fa8b-47d869c5fa55@leo-andres.de>
[-- Attachment #1: Type: text/plain, Size: 6939 bytes --]
Hello,
I think the function is the place where it should be.
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
-Michael
> On 19 Oct 2021, at 21:27, Leo Hofmann <hofmann(a)leo-andres.de> wrote:
>
> Hi Bernhard,
>
> Am 06.10.2021 um 11:23 schrieb Bernhard Bitsch:
>> Hi,
>>
>> I've just included the file into my system.
>> There are no problems.
>> So a new patch with this file can start the formal verification and test process.
>>
>> The original patch has some flaws ( function name, location in source ) I will comment in an extra answer.
>
> Have you had time to collect the issues yet? I'd like to continue working on them.
>
> Best regards,
> Leo
>
>>
>> Regards,
>> Bernhard
>>
>> 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
>>>>>>> ;
>>>>>>> }
>>>>>>>
>>>>
>>>
next prev parent reply other threads:[~2021-10-20 14:29 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 [this message]
2021-10-06 10:18 ` Leo Hofmann
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=31061822-6DFA-42B1-A030-70C53E72594D@ipfire.org \
--to=michael.tremer@ipfire.org \
--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