public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
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
>>>>>>>   ;
>>>>>>>   }
>>>>>>> 
>>>> 
>>> 


  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