2006-02-28

春を感じるきっかけ

車が汚い

車の汚さが目につくほど日が差すようになり、同時に地面や空からの水攻撃が減り、乾いた跡が目立つようになってきている証拠。

洗車してないのかって? 北陸の人間が冬の間に洗車なんかするわけないでしょ。そんな無駄なこと。

PukiWiki のパーサだけ取り出せないか

PukiWiki/1.4.6読み込み - PC説教講座

ちゅーことで読み始めてみた。まだ目と grep だけで追ってるので漏れてる可能性おおいにあり。今のところパーサの動作とリンクの生成とページの生成がうまく切り離せていないので必要なファイルがやたら多そうに見えるけど、切り離せればもう少し減らせると思う。

最終的にはパーサの動作だけを取り出して markdown みたいに独立したライブラリとして利用できる形を目指したいんだけど、どこまでできるかな。今思っているのは

  1. PukiWiki のパーサだけでテストが書けるようにしたい
  2. PukiWiki のパーサを自作のツールで利用したい
  3. markdown など著名なテキスト整形ライブラリと同じ API を用意する
  4. 本当に独立したライブラリにできたらどっかプロジェクトとして登録して自分以外の誰かに管理してもらいたい
    • 先に登録するって手もあるけど、成果が出るかどうか分からないのでまだ保留
  5. PukiWiki のパーサを他の Wiki や blog ツールなんかで利用したい

4 から先までの道のりはちょっとヘビーだなと思っている。(その前にたぶん 2 まで行く辺りで一度飽きるだろう:-)何しろ汎用のツールとするにはあまりに global な名前空間を汚してしまっているからだ。(一応あまりに多くの変数に分かれていたのを、ハッシュにして数を減らす方向でバージョンは上がっているんだけど。)

あと、5 を本気で自分でも思っているのかというと実は疑問。1たぶん 2 を実現したらあとは放り投げて他の人が適当にいじって管理してくれたら嬉しいなくらいにひどいことを考えている気がする。

ていうかスタート段階で「自分よりやる気のある人がいたらおれは喜んでお手伝いに回るよ」とマジで考えているので、どこまでできるかはまったくの未知数です。

  1. ただ、切り離しておくと GPL 汚染を回避したいプロダクトは作りやすくなるよなとは思っている。基本的に pukiwiki のパーサは同梱せずにモックのパーサをつけておけばいいんだから。 

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm