keiyaの日記@PG

blog keiyaの日記 | twitter @keiyac

2012-04-27

はてな記法対応のWiki、KeiSpadeをリリースしてみる

03:55

リリースっちゅうかアップデートだけど。Perlはまだまだ現役だ!

ギッハブ

https://github.com/keiya/KeiSpade-CMS

マニュアル

http://keispade.keiyac.org/

2010-11-12

はてな記法対応Wiki Keispade CMSアップデート

02:14

HTML5ベースのはてな記法が使えるWiki、KeiSpade CMSの最新リリースです。

はてな記法中毒者にはなかなか使い勝手がいい気がします。

Version 0.3.1

正しいHTTPステータスコードを返すようにした

ページを作成・編集した後にリダイレクトするようにした

InterWiki Linkが利用できるようになった

502 Bad Gateway

http://keispade.keiyac.org/

割と実用的になってきました。今回のアップデートは結構大きなもので、ページ編集後のURLが統一されます。

そういえば、昔のバージョンのように面倒なインストールは不要で、けっこう自動化してくれるようにしたので、導入が楽になりました。

InterWiki Linkは

[[ほげ]]

でくくったWikiページがリンクされる機能です。

2010-09-11

POJ 1163

05:52

再帰バージョン(最適化なし)

#!/usr/bin/perl

use strict;
use warnings;

my $h=-1;
my $maxh=0;
my $w=0;
my @d;
while(my $buf=<STDIN>){
	if($h==-1){
		$maxh=$buf;
	}else{
		chomp $buf;
		my @tmp = split(/\s/,$buf);
		$w=0;
		foreach my $e(@tmp){
			$d[$h][$w] = $e;
			$w++;
		}
	}
	$h++;
}
print &search(0,0,$maxh)."\n";

sub search {
	my ($l,$r);
	if($_[0]+1<$_[2]){
		$l=&search($_[0]+1, $_[1]  , $_[2]);
		$r=&search($_[0]+1, $_[1]+1, $_[2]);
		return $d[$_[0]][$_[1]]+($l>$r?$l:$r);
	}else{
		return $d[$_[0]][$_[1]];
	}
}

2010-06-23

なんかPerlをつかったWikiでいいものがなさそうなので作ってみる

20:50

HTML5対応の(ほとんど)Pure PerlWiki

まだまだ機能は足りないので,協力してくれる人募集中です.

概要

KeiSpade CMSはすべてPerlで書かれた,革命的で魔法のような軽量なCMSです。

データ管理には導入しやすいRDBMSSQLiteを使用し,安全と高信頼性と手軽さを兼ね備えたアプリケーションです.

バックエンドがデータベースなので,データの集約,検索,加工が手軽に行えます.

HTML5準拠により,あらゆるメディアを集積できます.

機能

  • CMSとして必須の複数カテゴリ分け機能
  • RDBMSを活かした高速な検索機能
  • 同じ内容のファイルが重複しないアップローダ

特長

  • 書きやすいはてな記法に準拠
  • HTML5準拠
  • Pure Perl目指す感じ

近日追加される機能

  • 内容を形態素解析により解釈し自動でタグをつける機能
  • TF-IDFとか
HTML5でWikiっぽいCMSつくってる - La Faïence

(注) 今はHTML5のテンプレートとして、http://giraffe.la/think_html5.htmlのスタイルシートを利用させていただいている。rightsの問題があるので、リリースするときに適宜差し替える。

2010-05-04

Text::Hatenaをつかってみる

14:58

はてな記法がつかえるWiki に使おうと思って.

Text::Hatenaを落としてくるだけでは依存が解決されてないので

Parse::RecDescentとRegexp::Assembleが必要です!

使うのはこんなかんじ,

require 'Text/Hatena.pm';                           #useでもいいけどメモリ節約のため
$htmlbody .= Text::Hatena->parse($hatenakihou);

ちなみにくだんのWikiHTML5を吐いてるので<video>タグとかつかえます

コードが汚いのでリファクタリングしてくれるひと..