Menu

Tree [1f2c07] master v0.5.3 /
 History

HTTPS access


File Date Author Commit
 lib 6 days ago gemmaro gemmaro [1f2c07] Version 0.5.3.
 po 2024-06-16 gemmaro gemmaro [9b4fe4] Generate RDoc English PO file.
 spec 6 days ago gemmaro gemmaro [1a04f9] Remove Pry requirements.
 .envrc 2024-10-26 gemmaro gemmaro [be2d65] Add Direnv config file for Guix.
 .gitignore 2016-02-09 iyuuya iyuuya [378154] initial commit
 .rspec 2016-02-09 iyuuya iyuuya [378154] initial commit
 .yardopts 2023-07-21 gemmaro gemmaro [746856] update documentation
 CHANGELOG.md 6 days ago gemmaro gemmaro [1f2c07] Version 0.5.3.
 Gemfile 6 days ago gemmaro gemmaro [f50878] Remove RuboCop dependencies.
 LICENSE.txt 6 days ago gemmaro gemmaro [b21c55] Add copyright line to license.
 README.en.md 2023-07-21 gemmaro gemmaro [746856] update documentation
 README.md 6 days ago gemmaro gemmaro [8c652c] Update repository link.
 Rakefile 2023-06-18 gemmaro gemmaro [b119ca] lint with RuboCop
 bench.rb 2023-07-21 gemmaro gemmaro [8b383f] lint with performance cops
 jkf.gemspec 6 days ago gemmaro gemmaro [216093] Update homepage link on gemspec.
 manifest.scm 6 days ago gemmaro gemmaro [f50878] Remove RuboCop dependencies.
 po4a.cfg 2023-04-30 gemmaro gemmaro [fa49ec] setup po4a for translation management

Read Me

jkf gem

jkf gemはJSON棋譜フォーマット (JKF)をRubyに移植したものです。
柿木形式(棋譜ファイル KIF 形式、KI2)、CSA標準棋譜ファイル形式の構文解析とJKFへの変換、JKFからKIF, KI2, CSAへの変換に対応しています。

インストール

アプリケーションにインストールする場合(Bundlerを使用する場合)、Gemfileに以下のように記述してください。

gem 'jkf'

さらにbundleコマンドを実行することでインストールできます。

または、gem installコマンドを使って直接インストールもできます。

使い方

KIF, KI2, CSAそれぞれ構文解析器 {Jkf::Parser} と変換器 {Jkf::Converter} が用意してあります。

kif_parser = Jkf::Parser::Kif.new
ki2_parser = Jkf::Parser::Ki2.new
csa_parser = Jkf::Parser::Csa.new
kif_converter = Jkf::Converter::Kif.new
ki2_converter = Jkf::Converter::Ki2.new
csa_converter = Jkf::Converter::Csa.new

{Jkf::Parser::Base#parse} でJKFへの変換、 {Jkf::Converter::Base#convert} でJKFから各形式へ変換できます。

jkf = kif_parser.parse(kif_str) #=> Hash
jkf = ki2_parser.parse(ki2_str) #=> Hash
jkf = csa_parser.parse(csa_str) #=> Hash
kif = kif_converter.convert(jkf) #=> String
ki2 = ki2_converter.convert(jkf) #=> String
csa = csa_converter.convert(jkf) #=> String

貢献

バグレポートやプルリクエストはリポジトリでよろしくお願いします。

Guixで開発されている場合はguix shellrake testによるテスト実行ができます。

翻訳はドキュメントとAPIの2種類があります。
APIについてはRDocの国際化の機能を使います。
POTファイルの生成にはrdoc --format potとします。
これによりdoc/rdoc.potが生成されます。
このPOTファイルから各言語のPOファイルを初期化できます。
例えばmsginit -i doc/rdoc.pot -o po/en.rdoc.po --locale en_US.UTF-8です。

謝辞

このプロジェクトはGitHubのiyuuya/jkfを元にしています。
そこからGitHubのgemmaro/jkfにフォークされました。
現在の開発はSourceForgeのjkfに移っています。

利用許諾

ライセンスはMIT Licenseです。

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.