hikiutils 0.2.3.7 → 0.2.3.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/hikiutils_bob/Rakefile +146 -38
  3. data/hikiutils_bob/figs/calphad_bob.pdf +0 -0
  4. data/hikiutils_bob/figs/hikiutils_bob.001.bb +5 -0
  5. data/hikiutils_bob/figs/hikiutils_bob.002.jpeg +0 -0
  6. data/hikiutils_bob/figs/hikiutils_bob.004.jpeg +0 -0
  7. data/hikiutils_bob/figs/hikiutils_bob.005.jpeg +0 -0
  8. data/hikiutils_bob/hikiutils_bob/hikiutils_bob.002.jpeg +0 -0
  9. data/hikiutils_bob/hikiutils_bob/hikiutils_bob.004.jpeg +0 -0
  10. data/hikiutils_bob/hikiutils_bob/hikiutils_bob.005.jpeg +0 -0
  11. data/hikiutils_bob/hikiutils_bob.hiki +3 -3
  12. data/hikiutils_bob/hikiutils_bob.key +0 -0
  13. data/hikiutils_bob/latex2hiki.hiki +3 -0
  14. data/hikiutils_bob/latex_all.hiki +51 -14
  15. data/hikiutils_bob/latex_dir/head.tex +2 -0
  16. data/hikiutils_bob/latex_dir/hikiutils_bob.aux +1 -0
  17. data/hikiutils_bob/latex_dir/hikiutils_bob.log +75 -35
  18. data/hikiutils_bob/latex_dir/hikiutils_bob.pdf +0 -0
  19. data/hikiutils_bob/latex_dir/hikiutils_bob.synctex.gz +0 -0
  20. data/hikiutils_bob/latex_dir/hikiutils_bob.tex +3 -0
  21. data/hikiutils_bob/latex_dir/hikiutils_bob.toc +34 -25
  22. data/hikiutils_bob/latex_dir/latex2hiki.aux +23 -0
  23. data/hikiutils_bob/latex_dir/latex2hiki.tex +4 -0
  24. data/hikiutils_bob/latex_dir/latex_all.aux +16 -13
  25. data/hikiutils_bob/latex_dir/latex_all.tex +51 -10
  26. data/hikiutils_bob/latex_dir/sync.aux +33 -27
  27. data/hikiutils_bob/latex_dir/sync.log +18 -188
  28. data/hikiutils_bob/latex_dir/sync.tex +54 -23
  29. data/hikiutils_bob/sync.hiki +49 -21
  30. data/hikiutils_bob/toc.hiki +28 -0
  31. data/hikiutils_yamane/Rakefile +67 -15
  32. data/hikiutils_yamane/abstract.hiki +7 -0
  33. data/hikiutils_yamane/clidescription.hiki +4 -4
  34. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.001.jpg +0 -0
  35. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.002.jpg +0 -0
  36. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.003.jpg +0 -0
  37. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.004.jpg +0 -0
  38. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.005.jpg +0 -0
  39. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.006.jpg +0 -0
  40. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.007.jpg +0 -0
  41. data/hikiutils_yamane/hikiutils_yamane.hiki +6 -7
  42. data/hikiutils_yamane/latex_dir/abstract.aux +2 -2
  43. data/hikiutils_yamane/latex_dir/abstract.tex +8 -0
  44. data/hikiutils_yamane/latex_dir/clidescription.aux +9 -10
  45. data/hikiutils_yamane/latex_dir/clidescription.tex +4 -5
  46. data/hikiutils_yamane/latex_dir/code.aux +25 -25
  47. data/hikiutils_yamane/latex_dir/code.tex +15 -15
  48. data/hikiutils_yamane/latex_dir/compare.tex +4 -4
  49. data/hikiutils_yamane/latex_dir/head.tex +1 -0
  50. data/hikiutils_yamane/latex_dir/hikiutils_yamane.aux +3 -6
  51. data/hikiutils_yamane/latex_dir/hikiutils_yamane.log +78 -117
  52. data/hikiutils_yamane/latex_dir/hikiutils_yamane.pdf +0 -0
  53. data/hikiutils_yamane/latex_dir/hikiutils_yamane.synctex.gz +0 -0
  54. data/hikiutils_yamane/latex_dir/hikiutils_yamane.tex +3 -6
  55. data/hikiutils_yamane/latex_dir/hikiutils_yamane.toc +22 -48
  56. data/hikiutils_yamane/latex_dir/method.aux +25 -0
  57. data/hikiutils_yamane/latex_dir/method.tex +14 -0
  58. data/hikiutils_yamane/latex_dir/purpose.aux +6 -9
  59. data/hikiutils_yamane/latex_dir/purpose.tex +1 -14
  60. data/hikiutils_yamane/latex_dir/results.aux +11 -19
  61. data/hikiutils_yamane/latex_dir/results.tex +22 -12
  62. data/hikiutils_yamane/method.hiki +12 -0
  63. data/hikiutils_yamane/purpose.hiki +1 -12
  64. data/hikiutils_yamane/results.hiki +15 -12
  65. data/hikiutils_yamane/toc.hiki +22 -0
  66. data/lib/hikiutils/version.rb +1 -1
  67. data/lib/templates/Rakefile_hiki_sync +102 -21
  68. metadata +14 -38
  69. data/hikiutils.gemspec~ +0 -43
  70. data/hikiutils_bob/latex_dir/hikiutils_bob +0 -243
  71. data/hikiutils_bob/latex_dir/hikiutils_bob.001.bb +0 -5
  72. data/hikiutils_bob/latex_dir/hikiutils_bob.001.jpeg +0 -0
  73. data/hikiutils_bob/latex_dir/hikiutils_bob.002.bb +0 -5
  74. data/hikiutils_bob/latex_dir/hikiutils_bob.002.jpeg +0 -0
  75. data/hikiutils_bob/latex_dir/hikiutils_bob.003.bb +0 -5
  76. data/hikiutils_bob/latex_dir/hikiutils_bob.003.jpeg +0 -0
  77. data/hikiutils_bob/latex_dir/latex_all).aux +0 -21
  78. data/hikiutils_bob/latex_dir/sync).aux +0 -21
  79. data/hikiutils_bob/latex_dir/sync.pdf +0 -0
  80. data/hikiutils_bob/latex_dir/sync.synctex.gz +0 -0
  81. data/hikiutils_bob/latex_dir/sync.toc +0 -17
  82. data/hikiutils_bob/latex_dir/to_latex.tex +0 -44
  83. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.001.jpg +0 -0
  84. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.002.jpg +0 -0
  85. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.003.jpg +0 -0
  86. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.004.jpg +0 -0
  87. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.005.jpg +0 -0
  88. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.006.jpg +0 -0
  89. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.007.jpg +0 -0
  90. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.001.jpg +0 -0
  91. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.002.jpg +0 -0
  92. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.003.jpg +0 -0
  93. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.004.jpg +0 -0
  94. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.005.jpg +0 -0
  95. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.006.jpg +0 -0
  96. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.007.jpg +0 -0
  97. data/hikiutils_yamane/hikiutils_yamane_09.key +0 -0
  98. data/hikiutils_yamane/latex_dir/command_table.aux +0 -4
  99. data/hikiutils_yamane/latex_dir/command_table.log +0 -152
  100. data/hikiutils_yamane/latex_dir/command_table.pdf +0 -0
  101. data/hikiutils_yamane/latex_dir/command_table.synctex.gz +0 -0
  102. data/hikiutils_yamane/latex_dir/compare.aux +0 -40
  103. data/hikiutils_yamane/latex_dir/introduction.aux +0 -26
  104. data/hikiutils_yamane/latex_dir/pre.tex +0 -36
@@ -0,0 +1,12 @@
1
+ !方法
2
+ !!既存システムの説明
3
+ 図に従ってhiki systemの動作概要を説明する.
4
+
5
+ !!!caption:hiki web systemとhiki systemの対応関係.
6
+ {{attach_view(hikiutils_yamane_09_copy.001.jpg,hikiutils_yamane)}}
7
+
8
+ hikiは,hiki記法を用いたwiki cloneです.wikiはウォード・カニンガムが作ったwikiwikiwebを源流とするhome page制作を容易にするシステムで,hikiもwikiの基本要求仕様を満足するシステムを提供しています.wikiの特徴であるweb上で編集する機能を提供しています.これを便宜上hiki web systemと呼びます.図にある通り,一般的な表示画面の他に,編集画面が提供されており,ユーザーはこの編集画面からコンテンツを編集することが可能です.リンクやヘッダー,リスト,引用,表,図の表示などの基本テキストフォーマットが用意されています.
9
+
10
+ hiki web systemの実際の基本動作は,hiki.cgiプログラムを介して行われています.こちらを便宜上hiki systemと呼びます.hiki systemは,data/textに置かれた書かれたプレーンテキストをhtmlへ変換します.この変換はhikidoc[1-1]というhikiフォーマットconverterを使っています.また,添付書類はcache/attachに,一度フォーマットしたhtmlはparserに置かれており,それらを参照してhtmlを表示する画面をhiki.cgiは作っています.さらにhiki systemでは検索機能,自動リンク作成などが提供されています
11
+
12
+ 研究室内の内部文書,あるいは外部への宣伝資料,さらにwikipediaのように重要な研究成果の発信などに西谷研ではこのhiki systemを利用しています.初心者にも覚えやすい直感的な操作です.しかし,慣れてくるとテキスト編集や画面更新にいちいちweb画面へ移行せねばならず,編集の思考が停止します.そこで,テキスト編集に優れたeditorとの連携や,terminal上のshell commandと連携しやすいようにhikiutilsというcli(command line interface)を作成して運用しています.このhikiutilsのコマンドオプションの実装をしなおして,より使いやすくすることが本研究の目的です.
@@ -1,18 +1,7 @@
1
- !!目的
1
+ !目的
2
2
  本研究ではhikiの編集作業をより容易にするためのツールの開発を行った.
3
3
  hikiは通常web上で編集を行っているが,GUIとCUIが混在しており,操作に不便な点がある.
4
4
  そこで,編集操作が CUI で完結するために開発をされたのが hikiutils である.
5
5
  しかし,そのユーザインタフェースにはコマンドが直感的でないという問題点がある.
6
6
  そこで,Thorというコマンドラインツール作成ライブラリを用いる.
7
7
  optparseというコマンドライン解析ライブラリを使用しているhikiutilsを新たなコマンドライン解析ライブラリを使用することコマンドを書き換え,より直感的なコマンドにして使いやすくする.
8
- !!既存システムの説明
9
- 図に従ってhiki systemの動作概要を説明する.
10
-
11
- !!!caption:hiki web systemとhiki systemの対応関係.
12
- {{attach_view(hikiutils_yamane_09_copy.001.jpg,hikiutils_yamane)}}
13
-
14
- hikiは,hiki記法を用いたwiki cloneです.wikiはウォード・カニンガムが作ったwikiwikiwebを源流とするhome page制作を容易にするシステムで,hikiもwikiの基本要求仕様を満足するシステムを提供しています.wikiの特徴であるweb上で編集する機能を提供しています.これを便宜上hiki web systemと呼びます.図にある通り,一般的な表示画面の他に,編集画面が提供されており,ユーザーはこの編集画面からコンテンツを編集することが可能です.リンクやヘッダー,リスト,引用,表,図の表示などの基本テキストフォーマットが用意されています.
15
-
16
- hiki web systemの実際の基本動作は,hiki.cgiプログラムを介して行われています.こちらを便宜上hiki systemと呼びます.hiki systemは,data/textに置かれた書かれたプレーンテキストをhtmlへ変換します.この変換はhikidoc[1-1]というhikiフォーマットconverterを使っています.また,添付書類はcache/attachに,一度フォーマットしたhtmlはparserに置かれており,それらを参照してhtmlを表示する画面をhiki.cgiは作っています.さらにhiki systemでは検索機能,自動リンク作成などが提供されています
17
-
18
- 研究室内の内部文書,あるいは外部への宣伝資料,さらにwikipediaのように重要な研究成果の発信などに西谷研ではこのhiki systemを利用しています.初心者にも覚えやすい直感的な操作です.しかし,慣れてくるとテキスト編集や画面更新にいちいちweb画面へ移行せねばならず,編集の思考が停止します.そこで,テキスト編集に優れたeditorとの連携や,terminal上のshell commandと連携しやすいようにhikiutilsというcli(command line interface)を作成して運用しています.このhikiutilsのコマンドオプションの実装をしなおして,より使いやすくすることが本研究の目的です.
@@ -1,8 +1,9 @@
1
1
  {{toc}}
2
- !結果
2
+ //!結果
3
3
  //!!開発の結果
4
- !!コマンド名の検討
5
- !!!コマンドの命名原則
4
+ //!コマンド名の検討
5
+ !コマンドの命名原則
6
+
6
7
  機能ごとの動作はコマンドのオプションによって指定されます.
7
8
  このオプションにどのような名前をつけるかは,どれだけコマンドを覚えやすいかという
8
9
  意味で重要です.コマンドの振る舞いを的確に表す名称をつける必要があります.
@@ -13,10 +14,10 @@ hikiutilsの振る舞いを予測できるシェルコマンドと同じ名前
13
14
  ようにします.
14
15
 
15
16
 
16
- !!!hikiutilsがあらかじめ想定している利用形態
17
+ !hikiutilsがあらかじめ想定している利用形態
17
18
  ここでhikiutilsがあらかじめ想定している利用形態を解説しておきます.
18
19
 
19
- !!!!caption:hikiutilsがあらかじめ想定している利用形態
20
+ !!caption:hikiutilsがあらかじめ想定している利用形態
20
21
  {{attach_view(hikiutils_yamane_09_copy.002.jpg,hikiutils_yamane)}}
21
22
 
22
23
  hikiutilsは,
@@ -58,7 +59,8 @@ editor_command:open -a mi
58
59
  >>>
59
60
  とすると,それらの一覧と,いまtargetにしているnick_nameディレクリが表示されます.
60
61
 
61
- !!!コメンド名と振る舞いの詳細
62
+ !コメンド名と振る舞いの詳細
63
+
62
64
  開発の結果コマンドを以下のように書き換えました.
63
65
  上部に記した,特によく使うコマンドに関しては,shellでよく使われるコマンド名と一致するにようにしました.
64
66
 
@@ -80,30 +82,31 @@ editor_command:open -a mi
80
82
  ||help [COMMAND] || || Describe available commands or one specific command
81
83
  ||version || || show program version
82
84
  それぞれの意図を動作の解説として記述しています.
83
- !!!! open FILE
85
+
86
+ * open FILE
84
87
  ファイルを編集のためにeditorでopen.Editorは~/.hikircに
85
88
  :editor_command: open -a mi
86
89
  として保存されている.open -a miをemacsなどに適宜変更して使用.
87
90
 
88
- !!!! ls [FILE]
91
+ * ls [FILE]
89
92
  local_dirにあるファイル名を[FILE*]として表示.例えば,hikiutils_yamane以下の拡張子が
90
93
  ついたファイルを表示.hikiシステムではtextディレクトリーは階層構造を取ることができない.
91
94
  西谷研ではdirectoryの代わりにスネーク表記で階層構造を表している.
92
95
 
93
- !!!! rsync
96
+ * rsync
94
97
  local_dirの内容をglobal_dirにrsyncする.逆方向は同期に誤差が生じたり,permissionが
95
98
  おかしくなるので,現在のところ一方向の同期のみとしている.したがって,作業手順としては
96
99
  テキストの変更はlocal_dirで読み行うようにしている.
97
100
 
98
- !!!! touch FILE
101
+ * touch FILE
99
102
  loccal_dirで書き換えたFILEの内容をlocal_uriに反映させ,ブラウザで表示.シェルコマンドの
100
103
  touchによって,変更時間を現在に変え,最新状態とするのに似せてコマンド名をtouchとしている.
101
104
 
102
- !!!! pwd
105
+ * pwd
103
106
  nick_nameの一覧とtargetを表示,current targetをcurrent dirとみなして,
104
107
  コマンド名をpwdとした.
105
108
 
106
- !!!! cd VAL
109
+ * cd VAL
107
110
  targetを変える,change directoryとのメタファ.ただし,いまのところnick_nameでは
108
111
  対応しておらず,nick_nameの番号をVAL入力することで変更する.
109
112
 
@@ -0,0 +1,22 @@
1
+ !1:概要
2
+ !2:目的
3
+ !3:方法
4
+ !!3.1:既存システムの説明
5
+ !4:結果
6
+ !!4.1:コマンドの命名原則
7
+ !!4.2:hikiutilsがあらかじめ想定している利用形態
8
+ !!4.3:コメンド名と振る舞いの詳細
9
+ !!4.4:CLIの解説
10
+ !!!4.4.1:Thor
11
+ !!!4.4.2:optparse
12
+ !!4.5:Thorの初期化
13
+ !!!4.5.1:コード
14
+ !!4.6:コマンド表示と処理
15
+ !!!4.6.1:Thor
16
+ !!!4.6.2:optparse
17
+ !!!4.6.3:コード
18
+ !!4.7:CLIの実行
19
+ !!!4.7.1:Thor
20
+ !!!4.7.2:optparse
21
+ !!!4.7.3:コード
22
+ !5:参考文献
@@ -1,3 +1,3 @@
1
1
  module HikiUtils
2
- VERSION = "0.2.3.7"
2
+ VERSION = "0.2.3.8"
3
3
  end
@@ -3,7 +3,7 @@ require 'systemu'
3
3
  require 'tempfile'
4
4
  # -*- coding: utf-8 -*-
5
5
  begin
6
- target_dir = File.readlines('./.hikirc')[0].chomp
6
+ $hiki_dir = File.readlines('./.hikirc')[0].chomp
7
7
  rescue => e
8
8
  puts e
9
9
  exit
@@ -13,22 +13,98 @@ $basename = (dirnames[-1]=='hikis')? dirnames[-2] : dirnames[-1]
13
13
  $latex_dir= 'latex_dir'
14
14
  $section_layer = {}
15
15
 
16
+ task :default do
17
+ system 'rake -T'
18
+ end
19
+
20
+ desc "Githubのdirをsafariでopen"
16
21
  task :github do
17
22
  status, stdout, stderr = systemu %q( git remote -v |grep origin )
18
23
  p github_dir=stdout.match(/(.+):(.+) \(push\)/)[2]
19
24
  system "open https://github.com/#{github_dir}"
20
25
  end
21
26
 
22
- task :default do
23
- system 'rake -T'
27
+ desc "hikiシステムにあるゴミファイルを掃除する"
28
+ task :reset_hiki do
29
+ status, stdout, stderr = systemu "hiki -l #{$basename}"
30
+ print stdout
31
+ files=[]
32
+ stdout.split("\n").each{|line|
33
+ files << line.split(/\s+/)[-1]
34
+ }
35
+ r_files = files.reverse[0..-5]
36
+ r_files.each{|file|
37
+ print "remove #{file}[ynql]?"
38
+ input=STDIN.gets.chomp
39
+ case input
40
+ when 'y'
41
+ p command="hiki --remove #{file}"
42
+ system command
43
+ when 'n'
44
+ when 'l'
45
+ p command="hiki -l #{$basename}"
46
+ system command
47
+ when 'q'
48
+ exit
49
+ end
50
+ }
51
+ end
52
+
53
+ desc "latex_dirのゴミを掃除"
54
+ task :reset_latex_dir do
55
+ system "mv latex_dir/head.tex ."
56
+ system "rm -rf latex_dir"
57
+ system "mkdir latex_dir"
58
+ system "mv head.tex latex_dir/"
59
+ system "rake latex_all"
24
60
  end
25
61
 
26
- desc "latex conversion FILE1"
62
+ desc "toc.hikiの作成"
63
+ task :mk_toc do
64
+ p target = $basename+'.toc'
65
+ cont=""
66
+ File.readlines(File.join('latex_dir',target)).each{|line|
67
+ if m=line.match(/\\contentsline \{(.+)\}\{\\numberline \{([\d|\.]+)\}(.+)\}\{\d+\}/)
68
+ layer,sec_no,title=m[1],m[2],m[3]
69
+ d = case m[1]
70
+ when 'section'
71
+ 1
72
+ when 'subsection'
73
+ 2
74
+ when 'subsubsection'
75
+ 3
76
+ else
77
+ 4
78
+ end
79
+ layer = "!"*d
80
+ title.gsub!('\_','_')
81
+ cont << "#{layer}#{sec_no}:#{title}\n"
82
+ end
83
+ }
84
+ print cont
85
+ File.open("toc.hiki",'w'){|file| file.print cont}
86
+ end
87
+
88
+ desc "hikiシステムを最新状態に更新"
89
+ task :touch do
90
+ p target = File.join($hiki_dir,'cache','attach',$basename)
91
+ system "touch #{target}/*"
92
+ Dir.entries('.').each{|file|
93
+ file_split=file.split(".")
94
+ if file_split[1]=='hiki'
95
+ next if file_split[0]==$basename
96
+ p target = $basename+"_"+file_split[0]
97
+ system "hiki -u #{target}"
98
+ end
99
+ }
100
+ end
101
+
102
+ desc "FILE1をlatexに変換"
27
103
  task :latex => [:latex_base] do
28
104
  exit
29
105
  end
30
106
 
31
- desc "latex conversion FILE1 with wrap format"
107
+ desc "FILE1wrap formatでlatexに変換"
32
108
  task :latex_wrap => [:latex_base, :change_wrap] do
33
109
  exit
34
110
  end
@@ -38,6 +114,7 @@ def latex_loop(entries,opts={})
38
114
  entries.each{|file|
39
115
  options={:latex_all=>true}
40
116
  next unless file.split('.')[1]=='hiki'
117
+ next if file=='toc.hiki'
41
118
  next if file.include?('.hikirc')
42
119
  f_name =File.basename(file,'.hiki')
43
120
  if opts[:main]
@@ -71,14 +148,22 @@ def check_section_layers(lines)
71
148
  p $section_layer
72
149
  end
73
150
 
74
- desc "latex conversion whole hiki files in the current dir."
151
+ def check_bounding_box
152
+ $bounding_box="0 0 442 432"
153
+ end
154
+
155
+ desc "すべてのhikiファイルをlatex変換"
75
156
  task :latex_all do
76
157
  p entries=Dir.entries('.')
158
+ check_bounding_box
77
159
  main_file = latex_loop(entries,opts={:main=>true})
78
160
  latex_loop(entries)
79
161
  cont=""
80
162
  p reg_exp = Regexp.new("#{$basename}_(.+)")
163
+ toc = false
81
164
  File.readlines(File.join($latex_dir,"#{main_file}.tex")).each{|line|
165
+ line, toc = "", true if line.match(/\\tableofcontents/) and toc == true #only one
166
+
82
167
  if line.match(/section{(.+)}/)
83
168
  if m=line.match(/\\verb\|(.+)\((.+)\)\|/)
84
169
  p m
@@ -99,7 +184,6 @@ task :latex_all do
99
184
  exit
100
185
  end
101
186
 
102
- desc "latex conversion FILE1(hiki) to FILE2(latex)"
103
187
  task :latex_base do
104
188
  Dir.mkdir($latex_dir) unless Dir.exist?($latex_dir)
105
189
  convert_to_latex(ARGV[1])
@@ -115,11 +199,11 @@ def convert_to_latex(file_name, options={})
115
199
  lines = File.readlines(file_name)
116
200
  check_section_layers(lines) if options[:main]
117
201
  cont = ""
118
- lines.each{|line|
202
+ lines.each_with_index{|line,i|
119
203
  if m=line.match(/\{\{attach_view\((.*),(.*)\)\}\}/)
120
204
  p line="\{\{attach_view\(#{m[1]}\)\}\}\n"
121
- elsif options[:latex_all]
122
- line="" if line.match(/title:|author:|date:/)
205
+ elsif options[:latex_all] and i<5
206
+ line="" if line.match(/^!title:|^!author:|^!date:/)
123
207
  end
124
208
  cont << line
125
209
  }
@@ -131,7 +215,7 @@ def convert_to_latex(file_name, options={})
131
215
  cont = ""
132
216
  lines.each{|line|
133
217
  if m=line.match(/\\includegraphics\[width=6cm\]\{(.+)\}/)
134
- p line="\\includegraphics\[width=6cm,bb=0 0 442 500\]\{../figs/#{m[1]}\}\n"
218
+ p line="\\includegraphics\[width=6cm,bb=#{$bounding_box}\]\{../figs/#{m[1]}\}\n"
135
219
  cont << line
136
220
  else
137
221
  cont << line
@@ -140,7 +224,6 @@ def convert_to_latex(file_name, options={})
140
224
  File.open($save_name,'w'){|file| file.print cont }
141
225
  end
142
226
 
143
- desc "change latex figures to wrap format"
144
227
  task :change_wrap do
145
228
  lines = File.readlines($save_name)
146
229
 
@@ -222,14 +305,13 @@ task :convert do
222
305
  exit
223
306
  end
224
307
 
225
- desc "normal sync hikis and figs to hiki directory"
308
+ desc "hikiの同期"
226
309
  task :sync => [:check_previous,:sync0]
227
310
 
228
311
 
229
- desc "force_sync hikis and figs to hiki directory"
312
+ desc "hikiの強制同期"
230
313
  task :force_sync => [:sync0]
231
314
 
232
- desc "sync0 hikis and figs to hiki directory"
233
315
  task :sync0 do
234
316
  entries=Dir.entries('.')
235
317
  entries[2..-1].each{|source| #cp *.hiki
@@ -237,11 +319,11 @@ task :sync0 do
237
319
  next if source.include?('.hikirc')
238
320
  p base = source.split('.')[0]
239
321
  name = (base==$basename)? base : $basename+'_'+base
240
- p target = File.join(target_dir,'text',name)
322
+ p target = File.join($hiki_dir,'text',name)
241
323
  FileUtils.cp(source,target,:verbose=>true)
242
324
  }
243
325
  p entries=Dir.entries('./figs') #cp files in figs
244
- p target = File.join(target_dir,'cache','attach',$basename)
326
+ p target = File.join($hiki_dir,'cache','attach',$basename)
245
327
  FileUtils.mkdir_p(target,:verbose=>true) unless File.exists?(target)
246
328
  entries[2..-1].each{|file|
247
329
  p source = File.join('./figs',file)
@@ -250,7 +332,7 @@ task :sync0 do
250
332
 
251
333
  File.open('./.hikirc','w'){|file|
252
334
  status, stdout, stderr =systemu "hiki -l #{$basename}*"
253
- file.print(target_dir+"\n")
335
+ file.print($hiki_dir+"\n")
254
336
  stdout.split("\n")[3..-1].each{|line|
255
337
  file.print line+"\n"
256
338
  }
@@ -261,8 +343,8 @@ end
261
343
  desc "For hiki Errno::ENOENT, Errno::EACCES"
262
344
  task :chenv do
263
345
  p user = ENV['USER']
264
- system("sudo chmod -R a+w #{target_dir}")
265
- # system("sudo chown -R #{user} #{target_dir}")
346
+ system("sudo chmod -R a+w #{$hiki_dir}")
347
+ # system("sudo chown -R #{user} #{$hiki_dir}")
266
348
  end
267
349
 
268
350
  desc "self copy to hikiutils template directory"
@@ -276,7 +358,6 @@ task :self_copy do
276
358
  }
277
359
  end
278
360
 
279
- desc "check previou and current sync"
280
361
  task :check_previous do
281
362
  current={}
282
363
  print "current hiki dir\n"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hikiutils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3.7
4
+ version: 0.2.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shigeto R. Nishitani
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-31 00:00:00.000000000 Z
11
+ date: 2017-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -296,17 +296,19 @@ files:
296
296
  - hikis/README_ja.hiki.html
297
297
  - hikis/yamane.hiki
298
298
  - hikiutils.gemspec
299
- - hikiutils.gemspec~
300
299
  - hikiutils.wiki/Home.md
301
300
  - hikiutils.wiki/README.md
302
301
  - hikiutils.wiki/README_ja.md
303
302
  - hikiutils.wiki/yamane.md
304
303
  - hikiutils_bob/.gitignore
305
304
  - hikiutils_bob/Rakefile
305
+ - hikiutils_bob/figs/calphad_bob.pdf
306
+ - hikiutils_bob/figs/hikiutils_bob.001.bb
306
307
  - hikiutils_bob/figs/hikiutils_bob.001.jpeg
307
308
  - hikiutils_bob/figs/hikiutils_bob.002.jpeg
308
309
  - hikiutils_bob/figs/hikiutils_bob.003.jpeg
309
310
  - hikiutils_bob/figs/hikiutils_bob.004.jpeg
311
+ - hikiutils_bob/figs/hikiutils_bob.005.jpeg
310
312
  - hikiutils_bob/figs/hikiutils_bob.pdf
311
313
  - hikiutils_bob/figs/sync.pdf
312
314
  - hikiutils_bob/hiki_help.yml
@@ -317,34 +319,26 @@ files:
317
319
  - hikiutils_bob/hikiutils_bob/hikiutils_bob.002.jpeg
318
320
  - hikiutils_bob/hikiutils_bob/hikiutils_bob.003.jpeg
319
321
  - hikiutils_bob/hikiutils_bob/hikiutils_bob.004.jpeg
322
+ - hikiutils_bob/hikiutils_bob/hikiutils_bob.005.jpeg
323
+ - hikiutils_bob/latex2hiki.hiki
320
324
  - hikiutils_bob/latex_all.hiki
321
325
  - hikiutils_bob/latex_dir/head.tex
322
- - hikiutils_bob/latex_dir/hikiutils_bob
323
- - hikiutils_bob/latex_dir/hikiutils_bob.001.bb
324
- - hikiutils_bob/latex_dir/hikiutils_bob.001.jpeg
325
- - hikiutils_bob/latex_dir/hikiutils_bob.002.bb
326
- - hikiutils_bob/latex_dir/hikiutils_bob.002.jpeg
327
- - hikiutils_bob/latex_dir/hikiutils_bob.003.bb
328
- - hikiutils_bob/latex_dir/hikiutils_bob.003.jpeg
329
326
  - hikiutils_bob/latex_dir/hikiutils_bob.aux
330
327
  - hikiutils_bob/latex_dir/hikiutils_bob.log
331
328
  - hikiutils_bob/latex_dir/hikiutils_bob.pdf
332
329
  - hikiutils_bob/latex_dir/hikiutils_bob.synctex.gz
333
330
  - hikiutils_bob/latex_dir/hikiutils_bob.tex
334
331
  - hikiutils_bob/latex_dir/hikiutils_bob.toc
335
- - hikiutils_bob/latex_dir/latex_all).aux
332
+ - hikiutils_bob/latex_dir/latex2hiki.aux
333
+ - hikiutils_bob/latex_dir/latex2hiki.tex
336
334
  - hikiutils_bob/latex_dir/latex_all.aux
337
335
  - hikiutils_bob/latex_dir/latex_all.tex
338
336
  - hikiutils_bob/latex_dir/pre.tex
339
- - hikiutils_bob/latex_dir/sync).aux
340
337
  - hikiutils_bob/latex_dir/sync.aux
341
338
  - hikiutils_bob/latex_dir/sync.log
342
- - hikiutils_bob/latex_dir/sync.pdf
343
- - hikiutils_bob/latex_dir/sync.synctex.gz
344
339
  - hikiutils_bob/latex_dir/sync.tex
345
- - hikiutils_bob/latex_dir/sync.toc
346
- - hikiutils_bob/latex_dir/to_latex.tex
347
340
  - hikiutils_bob/sync.hiki
341
+ - hikiutils_bob/toc.hiki
348
342
  - hikiutils_yamane/.gitignore
349
343
  - hikiutils_yamane/Rakefile
350
344
  - hikiutils_yamane/abstract.hiki
@@ -381,21 +375,6 @@ files:
381
375
  - hikiutils_yamane/hiki_help.yml
382
376
  - hikiutils_yamane/hikiutils_yamane.hiki
383
377
  - hikiutils_yamane/hikiutils_yamane.key
384
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.001.jpg
385
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.002.jpg
386
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.003.jpg
387
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.004.jpg
388
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.005.jpg
389
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.006.jpg
390
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.007.jpg
391
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.001.jpg
392
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.002.jpg
393
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.003.jpg
394
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.004.jpg
395
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.005.jpg
396
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.006.jpg
397
- - hikiutils_yamane/hikiutils_yamane_09 のコピー/hikiutils_yamane_09 のコピー.007.jpg
398
- - hikiutils_yamane/hikiutils_yamane_09.key
399
378
  - hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg
400
379
  - hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg
401
380
  - hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_familychineseoahu_en_00317_2040x1360-96.jpeg
@@ -446,12 +425,7 @@ files:
446
425
  - hikiutils_yamane/latex_dir/clidescription.tex
447
426
  - hikiutils_yamane/latex_dir/code.aux
448
427
  - hikiutils_yamane/latex_dir/code.tex
449
- - hikiutils_yamane/latex_dir/command_table.aux
450
- - hikiutils_yamane/latex_dir/command_table.log
451
- - hikiutils_yamane/latex_dir/command_table.pdf
452
- - hikiutils_yamane/latex_dir/command_table.synctex.gz
453
428
  - hikiutils_yamane/latex_dir/command_table.tex
454
- - hikiutils_yamane/latex_dir/compare.aux
455
429
  - hikiutils_yamane/latex_dir/compare.tex
456
430
  - hikiutils_yamane/latex_dir/head.tex
457
431
  - hikiutils_yamane/latex_dir/hikiutils_yamane.aux
@@ -460,18 +434,20 @@ files:
460
434
  - hikiutils_yamane/latex_dir/hikiutils_yamane.synctex.gz
461
435
  - hikiutils_yamane/latex_dir/hikiutils_yamane.tex
462
436
  - hikiutils_yamane/latex_dir/hikiutils_yamane.toc
463
- - hikiutils_yamane/latex_dir/introduction.aux
464
437
  - hikiutils_yamane/latex_dir/introduction.tex
465
- - hikiutils_yamane/latex_dir/pre.tex
438
+ - hikiutils_yamane/latex_dir/method.aux
439
+ - hikiutils_yamane/latex_dir/method.tex
466
440
  - hikiutils_yamane/latex_dir/purpose.aux
467
441
  - hikiutils_yamane/latex_dir/purpose.tex
468
442
  - hikiutils_yamane/latex_dir/results.aux
469
443
  - hikiutils_yamane/latex_dir/results.tex
470
444
  - hikiutils_yamane/latex_dir/system.tex
445
+ - hikiutils_yamane/method.hiki
471
446
  - hikiutils_yamane/mi
472
447
  - hikiutils_yamane/purpose.hiki
473
448
  - hikiutils_yamane/results.hiki
474
449
  - hikiutils_yamane/system.hiki
450
+ - hikiutils_yamane/toc.hiki
475
451
  - lib/hikiutils.rb
476
452
  - lib/hikiutils.rb~
477
453
  - lib/hikiutils/#tmarshal.rb#
data/hikiutils.gemspec~ DELETED
@@ -1,43 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'hikiutils/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "hikiutils"
8
- spec.version = HikiUtils::VERSION
9
- spec.authors = ["Shigeto R. Nishitani"]
10
- spec.email = ["shigeto_nishitani@me.com"]
11
-
12
- spec.summary = %q{helper of hiki editing.}
13
- spec.description = %q{.}
14
- spec.homepage = "http://github.org/daddygongon/hikiutils"
15
- spec.license = "MIT"
16
-
17
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
- # delete this section to allow pushing this gem to any host.
19
- # if spec.respond_to?(:metadata)
20
- # spec.metadata['allowed_push_host'] = 'http://rubygems.org'
21
- # else
22
- # raise "use 'gem inabox -o pkg/hogehoge.gem' for releasing on the non-public server."
23
- # end
24
-
25
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
- spec.bindir = "exe"
27
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
- spec.require_paths = ["lib"]
29
-
30
- spec.required_ruby_version = ">= 2.0.0"
31
- spec.add_development_dependency "bundler", "~> 1.11"
32
- spec.add_development_dependency "rake", "~> 10.0"
33
- spec.add_development_dependency "minitest", "~> 5.0"
34
- spec.add_development_dependency "rspec"
35
- spec.add_development_dependency "yard", "~> 0.8"
36
- spec.add_development_dependency "hiki2md"
37
- spec.add_development_dependency "mathjax-yard"
38
- spec.add_development_dependency "hiki2yard"
39
- spec.add_development_dependency "hiki2latex", "~> 0.9.12.1"
40
- spec.add_runtime_dependency "systemu"
41
- spec.add_runtime_dependency "hikidoc", "~> 0.1.0"
42
- spec.add_runtime_dependency 'thor'
43
- end