From: Jim Weirich Date: 2005-06-01T05:04:12+09:00 Subject: Re: Where to get the RubyGems documentation ------=_20050531200405_91151 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Lothar Scholz said: > JW> Follow the export link (e.g. > JW> http://docs.rubygems.org/export/book/1 for the > JW> User Guide) and select one of HTML, YAML, Textile or text. > > Unforunately none of this formats have the layout options i see on the > website. True. Then try the attached script. It will "dehydrate" a live hieraki web site by creating a directory containing standalone static HTML files. Links that don't make sense in static world are redirected back to the original live site. Warning: Use at your own risk. It seems to work on the RubyGems Users Guide, but I have not tried it on anything else. On the up side, the script is simple enough that most anyone should be able to hack it to their needs. -- -- Jim Weirich jim@weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas) ------=_20050531200405_91151 Content-Type: application/x-ruby; name="dehydrate.rb" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dehydrate.rb" IyEvdXNyL2Jpbi9lbnYgcnVieQoKIy0KIyBDb3B5cmlnaHQgMjAwNSBieSBKaW0gV2VpcmljaCAo amltQHdlaXJpY2hob3VzZS5vcmcpLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIyBQZXJtaXNzaW9u IGlzIGdyYW50ZWQgZm9yIHVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXMKIyBs b25nIGFzIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGlzIGluY2x1ZGVkLgojKwoKIyA9IERl aHlkcmF0ZSBhIEhpZXJha2kgZG9jdW1lbnQKIwojIERlaHlkcmF0ZSBhIEhpZXJha2kgd2ViIHNp dGUsIHByb2R1Y2luZyBhIHNldCBvZiBzdGFuZGFsb25lIHN0YXRpYwojIHdlYiBwYWdlcyB0aGF0 IGNhbiBiZSBpbnN0YWxsZWQgbG9jYWxseS4gIChzZWUgTGltaXRhdGlvbnMgYmVsb3cpCiMKIyA9 PSBVc2FnZQojCiMgICAgcnVieSBkZWh5ZHJhdGUucmIgW29wdGlvbnNdIFVSTAojCiMgV2hlcmUg VVJMIGlzIHRoZSB1cmwgb2YgdGhlIEhpZXJha2kgYm9vayB0byBiZSBkZWh5ZHJhdGVkLiAgVXNl IHRoZQojIC0taGVscCBvcHRpb24gdG8gZ2V0IG1vcmUgZGV0YWlscy4KIwojID09IEV4YW1wbGUK IwojIFRoZSBmb2xsb3dpbmcgY29tbWFuZCB3aWxsIGRlaHlkcmF0ZSB0aGUgUnVieUdlbXMgVXNl ciBHdWlkZToKIwojICAgICBydWJ5IGRlaHlkcmF0ZS5yYiBodHRwOi8vZG9jcy5ydWJ5Z2Vtcy5v cmcvcmVhZC9ib29rLzEKIwojID09IExpbWl0YXRpb25zCiMKIyAqIFRoZSBsaXZlIGxpbmtzIGlu IHRoZSBIaWVyYWtpIHNpdGUgKGUuZy4gbG9naW4sIGV4cG9ydCkgd2lsbCBub3QKIyAgIGJlIGNv bnZlcnRlZC4gIEN1cnJlbnRseSB0aGV5IHBvaW50IGJhY2sgdG8gdGhlIGxpdmUgc2l0ZS4KIwoj ICogSW1hZ2VzIHJlZmVyZW5jZWQgaW4gdGhlIENTUyBmaWxlcyBhcmUgbm90IGRlaHlkcmF0ZWQu CiMKIyAqIEV4cGxpY2l0IGxpbmtzIHRvIG90aGVyIGJvb2tzIGluIHRoZSBzYW1lIGJvb2tzaGVs ZiBtaWdodCBjYXVzZQojICAgdGhvc2UgYm9va3MgdG8gYmUgcHVsbGVkIGludG8gdGhlIHN0YW5k YWxvbmUgc2l0ZSB0b28uCiMKIyAqIFJlZ3VsYXIgZXhwcmVzc2lvbnMgYXJlIHVzZWQgdG8gZmlu ZCB0aGUgbGlua3MgdG8gcmVkaXJlY3QuICBUaGV5CiMgICBtYXkgdW5pbnRlbnRpb25hbGx5IHJl ZGlyZWN0IGxpbmtzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZQojICAgSGllcmFraSBpbmZyYXN0 cnVjdHVyZS4KIwoKcmVxdWlyZSAnb3B0cGFyc2UnCnJlcXVpcmUgJ25ldC9odHRwJwpyZXF1aXJl ICdmaWxldXRpbHMnCnJlcXVpcmUgJ29wZW4tdXJpJwpyZXF1aXJlICdyZXhtbC9zdHJlYW1saXN0 ZW5lcicKcmVxdWlyZSAncmV4bWwvZG9jdW1lbnQnCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRmV0Y2hlciBo YW5kbGVzIHRoZSBkZXRhaWxzIG9mIGZldGNoaW5nIHdlYiBwYWdlcy4KIwpjbGFzcyBGZXRjaGVy CiAgIyBSZXR1cm4gdGhlIHBhZ2UgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIFVSTC4gIFRocm93 IGFuIGV4Y2VwdGlvbgogICMgaWYgdGhlIHBhZ2UgZGF0YSBjYW5ub3QgYmUgcmV0cmlldmVkLgog IGRlZiBnZXRfcGFnZShwYWdlX3VybCkKICAgIG9wZW4ocGFnZV91cmwpIHsgfGZ8IGYucmVhZCB9 CiAgZW5kCmVuZAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIERlaHlkcmF0b3Igb2JqZWN0cyBoYW5kbGUgdGhl IGRldGFpbHMgb2YgZGVoeWRyYXRpbmcgYSBIaWVyYWtpCiMgZG9jdW1lbnRhdGlvbiBzaXRlLgoj CmNsYXNzIERlaHlkcmF0b3IKCiAgIyBJbml0aWFsaXplIHRoZSBkZWh5ZHJhdG9yLiAgSFRNTCBv dXRwdXQgZmlsZXMgYXJlIGRyb3BwZWQgaW50byB0aGUKICAjIGJhc2UgZGlyZWN0b3J5ICtiYXNl X2RpcisuCiAgZGVmIGluaXRpYWxpemUoYmFzZV9kaXIpCiAgICBAZGlyZWN0b3J5ID0gYmFzZV9k aXIKICAgIEBmZXRjaGVyID0gRmV0Y2hlci5uZXcKICAgIEBwZW5kaW5nID0gW10KICAgIEBzZWVu ID0ge30KICBlbmQKCiAgIyBEZWh5ZHJhdGUgdGhlIGhpZXJha2kgYm9vayBsb2NhdGUgYXQgK3Vy bCsuCiAgZGVmIGRlaHlkcmF0ZSh1cmwpCiAgICBAYmFzZV91cmkgPSBVUkkucGFyc2UodXJsKQog ICAgQHJvb3RfdXJpID0gIiN7QGJhc2VfdXJpLnNjaGVtZX06Ly8je0BiYXNlX3VyaS5ob3N0fToj e0BiYXNlX3VyaS5wb3J0fSIKICAgIEBwZW5kaW5nIDw8IHVybAogICAgcHV0cyAiRGVoeWRyYXRp bmcgI3t1cmx9IgogICAgcnVuCiAgZW5kCgogIHByb3RlY3RlZAoKICAjIFNjYW4gdGhlIGJvZHkg c3RyaW5nIGZvciBVUkwgbGlua3MuICBUaGUgK3VybF9yZWdleCsgcGF0dGVybgogICMgZGVmaW5l cyB3aGF0IGEgVVJMIHdpbGwgbG9vayBsaWtlLiAgVGhlIHBvcnRpb24gb2YgdGhlIFVSTAogICMg bWF0Y2hpbmcgdGhlIGZpcnN0IGdyb3VwIHdpbGwgYmUgZXh0cmFjdGVkIGFuZCBwb3N0ZWQgZm9y IGxhdGVyCiAgIyBzY2FubmluZy4KICBkZWYgcmVmX3NjYW4oYm9keSwgcmVnZXgpCiAgICBib2R5 LnNjYW4ocmVnZXgpIGRvIHxhcmdzfAogICAgICBuZXh0IHVubGVzcyBhcmdzLmZpcnN0CiAgICAg IHVybCA9ICJodHRwOi8vI3tAYmFzZV91cmkuaG9zdH06I3tAYmFzZV91cmkucG9ydH0je2FyZ3Mu Zmlyc3R9IgogICAgICBuZXh0IGlmIEBzZWVuW3VybF0KICAgICAgQHNlZW5bdXJsXSA9IHRydWUK ICAgICAgQHBlbmRpbmcgPDwgdXJsCiAgICBlbmQKICBlbmQKCiAgIyBGaW5kIGFsbCBsaW5rIHJl ZmVyZW5jZXMgaW4gdGhlIGJvZHkgb2YgdGhlIGRvY3VtZW50IHRoYXQgbmVlZCB0bwogICMgYmUg ZmV0Y2hlZCBhbmQgc2Nhbm5lZC4KICBkZWYgZmluZF9yZWZlcmVuY2VzKGJvZHkpCiAgICByZWZf c2Nhbihib2R5LCAlcns8YSBocmVmPSIoL3JlYWQvY2hhcHRlci9cZCspIj59KQogICAgcmVmX3Nj YW4oYm9keSwgJXJ7PGxpbmsgLio/aHJlZj0iKC9zdHlsZXNoZWV0cy9bXiJdKi5jc3MpIn0pICMg IgogIGVuZAoKICAjIEZpeCBleGlzdGluZyBsaW5rcyBpbiB0aGUgYm9keSBvZiB0aGUgZG9jdW1l bnQgcGFnZSBzbyB0aGF0IHRoZXkKICAjIHdpbGwgd29yayB3aXRoIGxvY2FsIGxpbmtzLgogIGRl ZiBmaXhfcmVmZXJlbmNlcyhib2R5KQogICAgYm9keS4KICAgICAgZ3N1Yiglcns8YSBocmVmPSIv cmVhZC8oYm9va3xjaGFwdGVyKS8oXGQrKX0pIHsgIjxhIGhyZWY9XCIjeyQxfV8jeyQyfS5odG1s IiB9LgogICAgICBnc3ViKCVye2hyZWY9Ii9zdHlsZXNoZWV0cy8oW14uXSspXC5jc3MifSkgeyAi aHJlZj1cIiN7JDF9LmNzc1wiIiB9LgogICAgICBnc3ViKCVye3NyYz0iL2ltYWdlc30pIHsgJ3Ny Yz0iaW1hZ2VzJyB9LiAgIyAnCiAgICAgIGdzdWIoJXJ7aHJlZj0iKC8oZXhwb3J0fGFjY291bnR8 c3luZGljYXRlfHNoZWxmKSl9KSB7ICJocmVmPVwiI3tAcm9vdF91cml9I3skMX0iIH0KICBlbmQK CiAgIyBQcm9jZXNzIHRoZSBIVE1MIHBhZ2UgcmV0dXJuZWQgZnJvbSB0aGUgSGllcmFraSBzaXRl LgogIGRlZiBwcm9jZXNzX2h0bWwoYm9keSkKICAgIGZpbmRfcmVmZXJlbmNlcyhib2R5KQogICAg cmV0dXJuIGZpeF9yZWZlcmVuY2VzKGJvZHkpCiAgZW5kCgogICMgUnVuIHRoZSBkZWh5ZHJhdGlv biBwcm9jZXNzLiAgS2VlcCBzY2FubmluZyBwYWdlcyB1bnRpbCB0aGUKICAjIHBlbmRpbmcgcXVl dWUgaXMgZW1wdHkuCiAgZGVmIHJ1bgogICAgd2hpbGUgdXJsID0gQHBlbmRpbmcuc2hpZnQKICAg ICAgcHV0cyAiICAgWyN7QHBlbmRpbmcuc2l6ZX1dIGRlaHlkcmF0aW5nICN7dXJsfSIKICAgICAg dXJpID0gVVJJLnBhcnNlKHVybCkKICAgICAgcGFnZWRhdGEgPSBAZmV0Y2hlci5nZXRfcGFnZSh1 cmwpCiAgICAgIG5ld19ib2R5ID0gcHJvY2Vzc19odG1sKHBhZ2VkYXRhKQogICAgICBjYXNlIHVy aS5wYXRoCiAgICAgIHdoZW4gJXJ7L3JlYWQvKGNoYXB0ZXJ8Ym9vayl9CiAgICAgICAgdXJpX3Bh dGggPSB1cmkucGF0aC5zcGxpdCgnLycpCiAgICAgICAgZm4gPSB1cmlfcGF0aFsyLDJdLmpvaW4o Il8iKSArICIuaHRtbCIKICAgICAgICBmcCA9IEZpbGUuam9pbihAZGlyZWN0b3J5LCBmbikKICAg ICAgd2hlbiAlcnteL3N0eWxlc2hlZXRzL30KICAgICAgICB1cmlfcGF0aCA9IHVyaS5wYXRoLnNw bGl0KCcvJykKICAgICAgICBmcCA9IEZpbGUuam9pbihAZGlyZWN0b3J5LCB1cmlfcGF0aFsyXSkK ICAgICAgZWxzZQogICAgICAgIGZwID0gbmlsCiAgICAgIGVuZAogICAgICBpZiBmcAogICAgICAg IG9wZW4oZnAsICJ3IikgZG8gfGZ8IGYucHV0cyBuZXdfYm9keSBlbmQKICAgICAgZW5kCiAgICBl bmQKICBlbmQKZW5kCgojIEhhbmRsZSB0aGUgb3B0aW9ucyBmb3IgdGhlIGRlaHlkcmF0ZSBzY3Jp cHQuICBSZXR1cm4gYSBkZWh5ZHJhdG9yCiMgb2JqZWN0IGNvbmZpZ3VyZWQgYnkgdGhlIG9wdGlv bnMuCmRlZiBoYW5kbGVfb3B0aW9ucyhhcmdzKQogIGRpcmVjdG9yeSA9ICdodG1sJwogIHVybCA9 IG5pbAogIG9wdHMgPSBPcHRpb25QYXJzZXIubmV3IGRvIHxvcHRzfAogICAgb3B0cy5iYW5uZXIg PSAnVXNhZ2U6IGRlaHlkcmFnZS5yYiBbLWQgZGlyZWN0b3J5XSBVUkwnCiAgICBvcHRzLm9uKCct ZCcsICctLWRpcmVjdG9yeSBESVJFQ1RPUlknLAogICAgICBTdHJpbmcsCiAgICAgICJEaXJlY3Rv cnkgdG8gZ2V0IHRoZSBIVE1MIG91dHB1dCAoZGVmYXVsdCAnaHRtbCcpIgogICAgICApIGRvIHx2 YWx1ZXwgJGRpcmVjdG9yeSA9IHZhbHVlIGVuZAogICAgb3B0cy5vbl90YWlsKCctaCcsICctLWhl bHAnLCAiVGhpcyBoZWxwIG1lc3NzYWdlIikgZG8KICAgICAgcHV0cyBvcHRzCiAgICAgIGV4aXQK ICAgIGVuZAogIGVuZAogIG9wdHMucGFyc2UhKGFyZ3MpCiAgRmlsZVV0aWxzLm1rZGlyX3AgZGly ZWN0b3J5CiAgRGVoeWRyYXRvci5uZXcoZGlyZWN0b3J5KQplbmQKCiMgTWFpbiBwcm9ncmFtIGZv ciB0aGUgZGVoeWRyYXRlIHNjcmlwdC4KZGVmIGRlaHlkcmF0ZV9tYWluKGFyZ3MpCiAgZGVoeWRy YXRvciA9IGhhbmRsZV9vcHRpb25zKGFyZ3MpCiAgYXJncy5lYWNoIGRvIHxhcmd8CiAgICBkZWh5 ZHJhdG9yLmRlaHlkcmF0ZShhcmcpCiAgZW5kCmVuZAoKaWYgX19GSUxFX18gPT0gJDAgdGhlbgog IGRlaHlkcmF0ZV9tYWluKEFSR1YpCmVuZAo= ------=_20050531200405_91151--