\documentclass[a4j,twocolumn]{jsarticle} \usepackage{subfigure} \def\Vec#1{\mbox{\boldmath $#1$}} \usepackage[dvipdfmx]{graphicx} \usepackage{url} \setlength{\textheight}{275mm} \headheight 5mm \topmargin -30mm \textwidth 185mm \oddsidemargin -15mm \evensidemargin -15mm \pagestyle{empty} \begin{document} \title{hiki編集作業を容易にするツールの開発} \author{情報科学科 西谷研究室 3554 山根 亮太} \date{} \maketitle \section{目的} 本研究の目的は,hiki の編集作業をより容易にするための ツールを開発することである.hiki は通常 web 上で編集を 行っているが,GUI と CUI が混在しており,操作に不便な点 がある.そこで,編集操作が CUI で完結するために開発をさ れたのが hikiutils である.しかし,そのユーザインタフェー スには問題がある.現在 hiki でコマンドを入力する際,ユー ザーは瞬間的にそのコマンドの機能や意味を判断することが 難しく迷いが生じてしまうことがある.なので.この部分を 開発することによりこの問題を解決したい. \section{システムについて} \subsection{hikiについて} hikiとはwikiエンジンの1つとされており,プログラミング言語Rubyを用いられることで作られたwikiクローンである. hikiの主な特徴として \begin{itemize} \item オリジナルwikiに似たシンプルな書式 \item プラグインによる機能拡張 \item 出力するHTMLを柔軟に変更可能 \item ページにカテゴリ付けできる \item CSSを使ったテーマ機能 \item 携帯端末可能 \item InterWikiのサポート \item HikiFarmに対応 \item ページの追加,編集がしやすい \end{itemize} 等がある\cite{hiki}. \subsection{hikiutilsについて} hikiutils は hiki の編集作業を容易に行うことができるよう にするツール群であり,プログラミング言語 Ruby のライブ ラリである gem フォーマットに従って提供されている [2]. hikiutils は CLI(Command Line Interface) で操作するため, オプション解析をおこなう必要がある.gem には,この用途 に適合したライブラリがいくつも提供されている [3].この中 で,あまり利用頻度は高くないが古くから開発され,使用例 が広く紹介されている optparse を利用している. \section{手法} このようなCLIの階層的なコマンド実装を示したcodeとしてTodoというgemアプリケーションがある\cite{PerfectRuby}. このプログラムではlib/todo/command/options.rbにサブコマンド用の定義があり,入力されたコマンドはilb/todo/command.rbで判断されることによりlib/todo/command/options.rb内で実行される.hikiutilsのプログラムの構造はTodoアプリケーションのプログラムの構造と似たものでありhikiの編集を容易にするためのツール群のため,この部分の編集を行うことでコマンド名を書き換える. \section{考察} 現在 Todo アプリケーションのコードを追いかけて,プロ グラムの構造を理解している.また,直感的なコマンドとし て以下のようなものを考えた. \begin{verbatim} version show program Version. show show sources add add sources info set VAL set target id open FILE open file list FILE list files update FILE update file rsync rsync files read db FILE read database file display FILE display converted hikifile check db FILE check database file remove FILE remove file move file1 file2 move file1,file2 euc FILE translate file to euc \end{verbatim} 上記のコマンドは git 風のコマンド名に変更してみた.今後 の課題としては, 実際に hikiutils 内でそのコマンドの編集を 行って実装し,そのコマンドが分かりやすいものであるかど うかを検討する必要がある. \begin{thebibliography}{9} \bibitem{hiki}「hiki」,hikiwiki.org/ja/about.html,2016/9/2 アクセス. \bibitem{gem}hikiutils,\url{https://rubygems.org/gems/ hikiutils},2016/9/2 アクセス. \bibitem{opt}The Ruby Toolbox, CLI Option Parsers,\url{https://www.ruby-toolbox.com/categories/ CLI_Option_Parsers},2016/9/2 アクセス. \bibitem{PerfectRuby}「パーフェクトRuby」,Rubyサポーターズ(技術評論社 2013). \end{thebibliography} \end{document}