From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Custom links Date: Thu, 09 Oct 2008 02:49:09 +0200 Message-ID: <48ED5505.4060807@gmx.de> Reply-To: sebastian_rose@gmx.de Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000608050405050701040905" Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Knjhv-0004w2-TO for emacs-orgmode@gnu.org; Wed, 08 Oct 2008 20:48:47 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Knjht-0004uj-Bg for emacs-orgmode@gnu.org; Wed, 08 Oct 2008 20:48:46 -0400 Received: from [199.232.76.173] (port=37548 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Knjht-0004uY-6G for emacs-orgmode@gnu.org; Wed, 08 Oct 2008 20:48:45 -0400 Received: from mail.gmx.net ([213.165.64.20]:47454) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1Knjht-0000D6-1E for emacs-orgmode@gnu.org; Wed, 08 Oct 2008 20:48:45 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "[emacs-orgmode]" This is a multi-part message in MIME format. --------------000608050405050701040905 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, there where questions about custom links here from time to time. I thought I'd share my way of displaying man pages, info pages and such. This is how I set up my custom links: (setq org-link-abbrev-alist '(("man" . "http://localhost/man.php?q=man&what=%s") ("info" . "http://localhost/man.php?q=info&what=%s") ("help" . "http://localhost/man.php?q=help&what=%s") ("apropos" . "http://localhost/man.php?q=apropos&what=%s") ;;; etc. several more... )) As you can see here, I prefer to BROWSE man pages. I hate to clutter my emacs session with buffers like *man*. The "http://localhost/devel/man.php" is attached to this mail. It's not the version I use localy (that is included in a knowledge base app I wrote), but it's just working that way. The man.php does display links in Org-files like [[man:man][How to use the man command]] [[man:man 7][How to write manpages]] [[help:man][man --help]] [[info:man][Read about man in info]] needs info2html or info2www. [[apropos:man][man -k -- find man pages refering to man]] man.php also turns the names of man pages in the 'SEE ALSO' section into hyperlinks. Same is true for the names of man pages listed in the apropos' output. This way, you can BROWSE YOUR MAN PAGES. A big advantage is the use of tabs in a web browser like opera or firefox. The script is easy to set up if you have a webserver running locally. It's not meant for a public installation, where you don't want to allow scripts to execute shell commands. Having 'man' installed, a webserver is just an 'apt-get install apache2 php5' or 'rpm -I apache2 php5'. You might also need to install one or two packages from the roff family, to create the HTML output. I could not live without a webserver and database installed. Can you? The setup is just as simple. Put man.php in a directory under your localhost's web root and adjust the three values in the SETUP section. Happy browsing, - Sebastian --------------000608050405050701040905 Content-Type: application/x-httpd-php; name="man.php" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="man.php" PD9waHAKLyoKICBtYW4ucGhwCgogIEF1dGhvciBhbmQgQ29weXJpZ2h0IChjKSAyMDA4IFNl YmFzdGlhbiBSb3NlLCBIYW5ub3ZlciwgR2VybWFueSwKICBzZWJhc3RpYW5fcm9zZSBnbXgg ZGUKCiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMwogIHNlZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLwoKCiAgV0FSTklO RzoKCiAgRE8gTk9UIFVTRSBUSElTIFNPRlRXQVJFIE9OIEEgUFVCTElDIFdFQi1TRVJWRVIg ISEhIElUIFdJTEwgRU1QT1dFUiBTVFJBTkdFUlMKICBUTyBFWEVDVVRFIENPREUgVEhFUkUg ISEhIFBMRUFTRSBDSEVDSyBZT1VSIEZJUkVXQUxMLVNFVFRJTkdTIElGIFlPVSBVU0UgVEhJ UwogIE9OIExPQ0FMSE9TVC4KCiAgT0sgLSB0aGUgbW9zdCBkYW5nZXJvdXMgY2hhcmFjdGVy cyBhcmUgcmVtb3ZlZCBmcm9tIGlucHV0LgoKICBQbGVhc2UgY2hlY2sgaWYgJ21hbiAtVGh0 bWwgMSBtYW4nIHdvcmtzIG9uIHlvdXIgc3lzdGVtIGFuZCBpbnN0YWxsIHRoZQogIG1pc3Np bmcgJ1tnfHR8bl1yb2ZmJyBwYWNrYWdlcyBhcyBuZWVkZWQuCiovCgoKLy8gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLXYKLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0VUVVAKCgovLyBEZWZhdWx0IFZhbHVlLiBQbGVhc2UgdXNl IGEgdmFsdWUgd2hpY2ggaXMgdmFsaWQgZm9yIGBtYW4gLS1sb2NhbGU9JGxvY2FsZScKLy8g SWYgeW91IGhhdmUgZnJlbmNoIG1hbiBwYWdlcyBpbnN0YWxsZWQsIHlvdSBtaWdodCB3YW50 IHRvIHNldCBpdCB0bwovLyBgZnJfRlInLgokbG9jYWxlID0gJ2VuX0dCJzsKCgovLyBBZGQg YHxNWSBMQU5HJyBoZXJlLCB3aGVyZSBgTVkgTEFORycgaXMgd2hhdCBzaG93cyB1cCBhcyBg U0VFIEFMU08nIG9uIG1hbgovLyBwYWdlcyBpbiB5b3VyIGxhbmd1YWdlLiBUaGUgc2NyaXB0 IG5lZWRzIGl0IHRvIHR1cm4gbWFuIHBhZ2VzIG1lbnRpb25lZCBpbgovLyB0aGF0IHNlY3Rp b24gaW50byBsaW5rcy4KJHNlZUFsc29BbHRlcm5hdGl2ZXMgPSAiU0VFIEFMU098U0lFSEUg QVVDSCI7CgoKLy8gSWYgeW91IGhhdmUgaW5mbzJodG1sIGluc3RhbGxlZCwgdGhpcyBpcyB0 aGUgZnVsbCB3ZWIgcGF0aCB0byB0aGUKLy8gZXhlY3V0YWJsZS4gWW91IG1pZ2h0IGhhdmUg YW5vdGhlciBpbmZvLXRvLXdlYiBjb252ZXJ0ZXIgaW5zdGFsbGVkLiBUaGUgcGF0aAovLyB3 aWxsIGJlIHVzZWQgZm9yIHJlZGlyZWN0aW9uLiBTZXQgdG8gYSBmYWxzZSB2YWx1ZSwgaWYg bm9uZS4KLy8gJGluZm9Ub0hUTUwgPSAnL2NnaS1iaW4vaW5mbzJ3d3cnOwokaW5mb1RvSFRN TCA9IGZhbHNlOwoKLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRU5EIE9GIFNFVFVQCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eCgoKLy8K Ly8gQ2xlYW4gZ2V0IHZhcnMgZnJvbSBkYW5nZXJvdXMgc3R1ZmY6Ci8vCiRzZWFyY2ggID0g YXJyYXkoIiMiLCAiJiIsICI7IiwgImAiLCAifCIsICIqIiwgIj8iLCAifiIsICI8IiwgIj4i LCAiXiIsICIoIiwgIikiLCAiWyIsICJdIiwgInsiLCAifSIsICIkIiwgIlxcIiwgIiwiKTsK JHJlcGxhY2UgPSBhcnJheSgiIik7CiRhcmdzID0gYXJyYXkoKTsKd2hpbGUobGlzdCgkaywg JHYpID0gZWFjaCgkX0dFVCkpCiAgewogICAgaWYoaXNfYXJyYXkoJF9HRVRbJGtdKSkKICAg ICAgY29udGludWU7CiAgICBlbHNlCiAgICAgICRhcmdzWyRrXSA9IHN0cl9yZXBsYWNlKCRz ZWFyY2gsICRyZXBsYWNlLCAkdik7CiAgfQoKCiRkbyA9ICggaXNzZXQoJGFyZ3NbJ3EnXSkK ICAgICAgICAmJiAoICAgMCA9PSBzdHJjbXAoJ21hbicsICRhcmdzWydxJ10pCiAgICAgICAg ICAgIHx8IDAgPT0gc3RyY21wKCdpbmZvJywgJGFyZ3NbJ3EnXSkKICAgICAgICAgICAgfHwg MCA9PSBzdHJjbXAoJ2Fwcm9wb3MnLCAkYXJnc1sncSddKQogICAgICAgICAgICB8fCAwID09 IHN0cmNtcCgnaGVscCcsICRhcmdzWydxJ10pKQogICAgICAgICkKICA/ICRhcmdzWydxJ10K ICA6ICdtYW4nOwoKaWYoaXNzZXQoJGFyZ3NbJ3doYXQnXSkgJiYgc3RybGVuKCRhcmdzWyd3 aGF0J10pKQogIHsKCiAgICAkd29yZHMgPSBwcmVnX3NwbGl0KCIvW1xXXHNdLyIsICR3aGF0 LCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICAkbWFuID0gYXJyYXlfc2hpZnQgKCAk d29yZHMgKTsKCiAgICBpZiAoIHN0cmNtcCAoICRkbywgIm1hbiIpID09IDAgKQogICAgICB7 CiAgICAgICAgc3RhcnRQYWdlKCdtYW46ICcgLiBodG1sc3BlY2lhbGNoYXJzKCRtYW4pKTsK ICAgICAgICAkc2VjID0gKCBpc3NldCAoICR3b3Jkc1swXSApICApID8gJHdvcmRzWzBdIDog IiI7CiAgICAgICAgJHBoID0gcG9wZW4oICJtYW4gLS1sb2NhbGU9Ii4kbG9jYWxlLiIgLVRo dG1sICIgLiAkc2VjIC4gIiAiIC4gJG1hbiAuICIgMj4vZGV2L251bGwiLCAiciIpOwogICAg ICAgIHdoaWxlICggJGxpbmUgPSBmZ2V0cyAoICRwaCwgMTAyNCApICkKICAgICAgICAgIHsK ICAgICAgICAgICAgZWNobyAkbGluZTsKICAgICAgICAgICAgaWYgKCBwcmVnX21hdGNoICgi L25hbWVcPVwiKCIuJHNlZUFsc29BbHRlcm5hdGl2ZXMuIilcIi9pIiwgJGxpbmUgKSApCiAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CgogICAgICAgIHdoaWxlICggJGxpbmUg PSBmZ2V0cyAoICRwaCwgMTAyNCApICkKICAgICAgICAgIHsKICAgICAgICAgICAgJG1hdGNo ZXMgPSBhcnJheSgpOwogICAgICAgICAgICBpZiAoIHByZWdfbWF0Y2hfYWxsICggIi9cYihc d3sxLH0/XC57MCwxfVx3ezEsfT8pXGIuezAsNX0/XCgoXGQpXCkvIiwgJGxpbmUsICRtYXRj aGVzICkgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzZWFyY2ggID0gYXJy YXkoKTsKICAgICAgICAgICAgICAgICRyZXBsYWNlID0gYXJyYXkoKTsKICAgICAgICAgICAg ICAgIGZvciAoICRpID0gMDsgJGkgPCBjb3VudCAoJG1hdGNoZXMgWzBdKTsgKyskaSApCiAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkcmVwbGFjZVtdID0gJzxh IGhyZWY9Im1hbi5waHA/cT1tYW4md2hhdD0nCiAgICAgICAgICAgICAgICAgICAgICAuICRt YXRjaGVzWzFdWyRpXSAuICIgIgogICAgICAgICAgICAgICAgICAgICAgLiAkbWF0Y2hlc1sy XVskaV0gLiAnIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjpibGFjazt0ZXh0LWRl Y29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyOyI+JwogICAgICAgICAgICAgICAg ICAgICAgLiAkbWF0Y2hlc1swXVskaV0gLiAnPC9hPic7CiAgICAgICAgICAgICAgICAgICAg JHNlYXJjaCBbXSA9ICRtYXRjaGVzWzBdWyRpXTsKICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgJGxpbmUgPSBzdHJfcmVwbGFjZSAoICRzZWFyY2gsICRyZXBsYWNlLCAk bGluZSApOwogICAgICAgICAgICAgICAgZWNobyAkbGluZTsKICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBlY2hvICRs aW5lOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgfQoKCiAgICBlbHNlIGlm ICggc3RyY21wICggJGRvLCAiYXByb3BvcyIpID09IDAgKQogICAgICB7CiAgICAgICAgJG1h biA9ICRtYW4gLiAiICIgLiBpbXBsb2RlICggIiAiLCAkd29yZHMgKTsKICAgICAgICBzdGFy dFBhZ2UoJ2Fwcm9wb3M6ICcgLiBodG1sc3BlY2lhbGNoYXJzKCRtYW4pKTsKCiAgICAgICAg ZWNobycKICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIiBib3JkZXI9 IjAiPic7CiAgICAgICAgJHBoID0gcG9wZW4gKCAiZXhwb3J0IExBTkc9Ii4kbG9jYWxlLiIg JiYgbWFuIC1rICIgLiAkbWFuIC4gIiAyPiYxIiwgInIiICk7CiAgICAgICAgd2hpbGUgKCAk bGluZSA9IGZnZXRzKCRwaCwgNDA5NikgKQogICAgICAgICAgewogICAgICAgICAgICBsaXN0 KCRuYW1lLCAkZGVzYykgPSBleHBsb2RlKCItIiwgJGxpbmUpOwogICAgICAgICAgICAkbGlu ayA9ICRuYW1lOwogICAgICAgICAgICAkbGluayA9IHN0cl9yZXBsYWNlKCAnKCcsICcgJywg JGxpbmspOwogICAgICAgICAgICAkbGluayA9IHN0cl9yZXBsYWNlKCAnKScsICcnLCAkbGlu ayk7CiAgICAgICAgICAgIGVjaG8gJwogICAgPHRyPgogICAgIDx0ZCB2YWxpZ249InRvcCI+ PGEgaHJlZj0iJy4kUEhQX1NFTEYuJz9xPW1hbiZ3aGF0PScuJGxpbmsuJyI+PGI+Jy4kbmFt ZS4nPC9iPjwvYT48L3RkPgogICAgIDx0ZD4nLiRkZXNjLic8L3RkPgogICAgPC90cj4nOwog ICAgICAgICAgfQogICAgICAgIGVjaG8gJwogICA8L3RhYmxlPic7CiAgICAgIH0KCgogICAg ZWxzZSBpZiAoIHN0cmNtcCAoICRkbywgImluZm8iKSA9PSAwICkKICAgICAgewogICAgICAg IGlmICggJGluZm9Ub0hUTUwgKQogICAgICAgICAgewogICAgICAgICAgICAkdG9wID0gKCBj b3VudCAoICR3b3JkcyApID4gMCA/IGltcGxvZGUgKCAiICIsICR3b3JkcyApIDogIlRvcCIg KTsKICAgICAgICAgICAgJG1hbiA9ICRtYW4gLiAiKSIgLiAkdG9wOwogICAgICAgICAgICBo ZWFkZXIgKCAiTG9jYXRpb246ICIgLiAkaW5mb1RvSFRNTCAuICI/KCIgLiAkbWFuICApOwog ICAgICAgICAgICBleGl0OwogICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgIHsK ICAgICAgICAgICAgZWNobyAnPGI+Tm90aGluZyBsaWtlIDxjb2RlPmluZm8yaHRtbDwvY29k ZT4gY29uZmlndXJlZCE8L2I+JzsKICAgICAgICAgIH0KICAgICAgfQoKICAgIGVsc2UgaWYg KCBzdHJjbXAgKCAkZG8sICJoZWxwIikgPT0gMCApCiAgICAgIHsKICAgICAgICAkbWFuID0g JG1hbiAuICIgIiAuIGltcGxvZGUgKCAiICIsICR3b3JkcyApOwoKICAgICAgICBzdGFydFBh Z2UoJ2Fwcm9wb3M6ICcgLiBodG1sc3BlY2lhbGNoYXJzKCRtYW4pIC4gJyAtLWhlbHAnKTsK CiAgICAgICAgZWNobyAnPHByZT4nOwogICAgICAgIHBhc3N0aHJ1ICggImV4cG9ydCBMQU5H PSIuJGxvY2FsZS4iICYmICIgLiAkbWFuIC4gIiAtLWhlbHAiICk7CiAgICAgICAgZWNobyAn PC9wcmU+JzsKICAgICAgfQogIH0KCgpmdW5jdGlvbiBzdGFydFBhZ2UoJHRpdGxlKQp7CiAg Z2xvYmFsICRpbmZvVG9IVE1MLCAkbG9jYWxlLCAkYXJnczsKICAkbG9jID0gc3Vic3RyKCRs b2NhbGUsIDAsIDIpOwogIGVjaG8gJzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9E VEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5k dGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxh bmc9IicuJGxvYy4nIiBsYW5nPSInLiRsb2MuJyI+CiA8aGVhZD4KICA8dGl0bGU+Jy4kdGl0 bGUuJzwvdGl0bGU+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0icGFkZGluZzowcHggMTBweDsi PgogIDxwPgogICA8Zm9ybSBtZXRob2Q9ImdldCIgaWQ9Im1hbkZvcm0iIGFjdGlvbj0iJy4g JF9TRVJWRVJbJ1BIUF9TRUxGJ10gLiciPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1l PSJ3aGF0IgogICAgICAgICAgICB2YWx1ZT0iJy4oaXNzZXQoJGFyZ3NbJ3doYXQnXSkgPyAk YXJnc1snd2hhdCddIDogIiIpLiciIHNpemU9IjMwIiBtYXhsZW5ndGg9IjQ4IiAvPgogICAg IDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InEiIHZhbHVlPSJtYW4iIHRpdGxlPSJTaG93 IG1hbiBwYWdlLiIgLz4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJxIiB2YWx1 ZT0iYXByb3BvcyIgdGl0bGU9Im1hbiAtayAtIFNob3cgbWFuIHBhZ2VzIHRvIHRoaXMgY29u Y2Vybi4iIC8+JzsKCiAgaWYoJGluZm9Ub0hUTUwpCiAgICBlY2hvICcKICA8aW5wdXQgdHlw ZT0ic3VibWl0IiBuYW1lPSJxIiB2YWx1ZT0iaW5mbyIgdGl0bGU9IkdvIHRvIGluZm8gYnJv d3NlciIgLz4nOwoKICBlY2hvICcKICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJxIiB2 YWx1ZT0iaGVscCIgdGl0bGU9IlNob3cgb3V0cHV0IG9mIC0taGVscCIgLz4KICAgPC9mb3Jt PgogIDwvcD4KCiAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2JvcmRl cjoxcHggc29saWQgYmxhY2s7cGFkZGluZzo1cHg7Ij4KJzsKfQoKPz4KCiA8L2Rpdj4KIDwv Ym9keT4KPC9odG1sPgoK --------------000608050405050701040905 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --------------000608050405050701040905--