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: Tue, 19 Oct 2021 22:27:00 +0200 [thread overview]
Message-ID: <6609ef74-0d11-9b4f-fa8b-47d869c5fa55@leo-andres.de> (raw)
In-Reply-To: <1e5161eb-478a-fd66-5bd3-136f69117927@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 6703 bytes --]
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-19 20:27 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 [this message]
2021-10-20 14:29 ` Michael Tremer
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=6609ef74-0d11-9b4f-fa8b-47d869c5fa55@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