Beefy Boxes and Bandwidth Generously Provided by pair Networks Cowboy Neal with Hat
The stupid question is the question not asked
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

After fiddling around a bit with the FreeBSD man.cgi interface, I came up with a small heuristic (argl!) for specifying the OS and a Perl program that created the table below. It shall provide an impression of what the results might look like and summarise the feedback, I've got so far (thanks).

My assumptions:
  • the vast majority of users (of the minority that requires UNIX Man Pages anyhow) will need something like [man://program] only
  • a section is rarely necessary, e.g. for passwd (1+5)
  • someone requiring a special manual section for a distinct version of a given OS should use a direct link - as offered at the bottom of a FreeBSD manpage: e.g http://www.freebsd.org/cgi/man.cgi?query=env&manpath=Darwin+1.3.1%2fx86
  • maintenance overhead at PM should be close to nothing, thus the release of an OS is not processed
  • format: [man://PROG (opt. SECTION) (opt. OS)], order of OS and SECTION insignificant
  • optional (\d+) is a hint for a SECTION
  • optional (\D+) is a hint for an OS plus optional release (latter: ignored!); The FreeBSD site is quite good at guessing the current OS for a given manpath-attribute without a release number.
  • currently, the OS is simply uppercased (e.g. SUSE instead of SuSE)
  • [manX://abc] is offered as convenience shortcut for [man://abc (X)]
  • whitespace-tolerant, case-tolerant
  • class="man", class="mskb" for individual styling
  • using the format [man://prog (section) (os rel)] or [man://prog/section/os/rel] is mainly a matter of taste..., so I started with my favourite pattern
  • personally, I think the reference should contain no whitespaces
  • restriction of current implementation: no nested (...(..)..) or [..[..]..] allowed
  • handling of MSKB entries is trivial
  • ....
Some testcases (including ill. formatted entries) below. Some very simple heuristics are applied to find the manpath attribute for a given Unix flavour keeping the maintenance overhead small at PerlMonks. If the heuristic fails, the FreeBSD site will fallback to the default OS (FreeBSD) - which is OK for me. Although, abandoning the requirement to identify a certain OS would simplify the maintenance burden significantly. The lookup-table is:
my %patch = ('hp-ux' => 'hpux', x => 'x11', plan => 'plan9', osf => 'osf1', xfree => 'xfree86', minix => 'Minix+2.0', opensuse => 'suse', rhel => 'redhat', );

So, how shall we proceed?

Update: Right, RHEL is not identical to RedHat Linux, but the intention was to come close to the family, which is rather RedHat than FreeBSD... However, it can be corrected by removing the rhel => 'redhat' entry from the hash above (see: mr_mischief's comment).
Update2: If you like to experiment with the effect of the man and mskb styles, go to your Display Settings and add something to the On-Site CSS Markup - section, e.g. (nobody says it has to look good!)

.man { border: 1px solid #ff0000; background-color: #e6e6e6; } .mskb { border: 1px dotted #0000ff; background-color: #e6e6e6; }


InputRenderedLink-Layout
shell shell <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=sh&format=html&manpath=Minix+2.0">shell</a>
env man:env <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html">man:env</a>
env(1) man:env(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1">man:env(1)</a>
env (1) man:env(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1">man:env(1)</a>
[man1://env] man:env(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1">man:env(1)</a>
env (sunos) SUNOS:env <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&manpath=sunos">SUNOS:env</a>
env (sunos) SUNOS:env <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&manpath=sunos">SUNOS:env</a>
env (sOlarIS 77) SOLARIS_77:env <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&manpath=solaris">SOLARIS_77:env</a>
env(1)(susE 55.11) SUSE_55.11:env(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1&manpath=suse">SUSE_55.11:env(1)</a>
passwd (hp-ux) (5) HP-UX:passwd(5) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=5&manpath=hpux">HP-UX:passwd(5)</a>
[man1://passwd(5) (redhat)| should override section 1 by 5] should override section 1 by 5 <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=5&manpath=redhat">should override section 1 by 5</a>
man page of env section(1) man page of env section(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1">man page of env section(1)</a>
man page of env section(1)|blah man page of env section(1)|blah <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=env&format=html&sektion=1">man page of env section(1)|blah</a>
passwd ( 1 ) ( Solaris) SOLARIS:passwd(1) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=1&manpath=solaris">SOLARIS:passwd(1)</a>
passwd(5)(suse) SUSE:passwd(5) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=5&manpath=suse">SUSE:passwd(5)</a>
passwd(5)(rhel) RHEL:passwd(5) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=5&manpath=redhat">RHEL:passwd(5)</a>
passwd (5) (opensuse) OPENSUSE:passwd(5) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd&format=html&sektion=5&manpath=suse">OPENSUSE:passwd(5)</a>
passwd (5) (openSuSE) (11) OPENSUSE:passwd(11)(5) <a class="man" href="http://www.freebsd.org/cgi/man.cgi?query=passwd(11)&format=html&sektion=5&manpath=suse">OPENSUSE:passwd(11)(5)</a>
[mskb://245225] MSKB:245225 <a class="mskb" href="http://support.microsoft.com/=kb/245225">MSKB:245225</a>
[mskb:// 24 5 225 ] MSKB:245225 <a class="mskb" href="http://support.microsoft.com/=kb/245225">MSKB:245225</a>
[msKB:// 24 5225| ] MSKB:245225 <a class="mskb" href="http://support.microsoft.com/=kb/245225">MSKB:245225</a>
[mskb://245225 | Perl and IE ] Perl and IE <a class="mskb" href="http://support.microsoft.com/=kb/245225">Perl and IE</a>

In reply to Re: Suggestion for new shortcut-tags: [man://] and [mskb://] by Perlbotics
in thread Suggestion for new shortcut-tags: [man://] and [mskb://] by Perlbotics

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (5)
    As of 2014-04-19 16:44 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      April first is:







      Results (483 votes), past polls