nadesiko3 3.3.7 → 3.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +109 -109
  3. package/batch/browsers.template.md +3 -3
  4. package/batch/build_browsers.nako3 +72 -72
  5. package/batch/build_command.nako3 +44 -44
  6. package/batch/build_nako_version.nako3 +14 -14
  7. package/batch/calc_hash.nako3 +29 -29
  8. package/batch/cmd_txt2json.nako3 +72 -72
  9. package/batch/command.txt +0 -50
  10. package/batch/command_nakopad.txt +0 -44
  11. package/batch/download-extlib.nako3 +43 -43
  12. package/batch/gen_command_nakopad.nako3 +57 -57
  13. package/batch/jsplugin2text.nako3 +269 -269
  14. package/batch/pickup_command.nako3 +84 -84
  15. package/batch/pickup_reserved_words.nako3 +11 -11
  16. package/batch/publish_version.nako3 +46 -46
  17. package/batch/show_agents.js +14 -14
  18. package/batch/turtle2js.nako3 +21 -21
  19. package/bin/cnako3 +10 -10
  20. package/demo/ace_editor.html +89 -89
  21. package/demo/ace_editor_tabs.html +161 -161
  22. package/demo/basic.html +71 -71
  23. package/demo/browsers.html +6 -6
  24. package/demo/css/basic.css +3 -3
  25. package/demo/css/common.css +157 -157
  26. package/demo/css/editor.css +8 -8
  27. package/demo/css/flow.css +3 -3
  28. package/demo/css/index.css +3 -3
  29. package/demo/flow.html +98 -98
  30. package/demo/graph.html +53 -53
  31. package/demo/image/nakopad-icon256.png +0 -0
  32. package/demo/index.html +133 -133
  33. package/demo/js/common.js +17 -17
  34. package/demo/js/turtle3d_test.js +44 -44
  35. package/demo/js/turtle_test.js +44 -44
  36. package/demo/runscript.html +47 -47
  37. package/demo/runscript2.html +33 -33
  38. package/demo/runscript3.html +35 -35
  39. package/demo/turtle.html +58 -58
  40. package/demo/turtle2.html +141 -141
  41. package/demo/turtle3.html +279 -279
  42. package/demo/turtle3d.html +58 -58
  43. package/demo/turtle3d2.html +107 -107
  44. package/demo/version.html +24 -24
  45. package/doc/SETUP.md +157 -157
  46. package/doc/about.md +34 -34
  47. package/doc/browsers.md +6 -6
  48. package/doc/docgen.md +21 -21
  49. package/doc/editor.md +44 -44
  50. package/doc/files.md +37 -37
  51. package/doc/plugins.md +196 -196
  52. package/doc/release.md +78 -78
  53. package/doc/win32.md +57 -57
  54. package/package.json +206 -206
  55. package/release/_hash.txt +28 -28
  56. package/release/_script-tags.txt +14 -14
  57. package/release/command.json +1 -1
  58. package/release/command.json.js +1 -1
  59. package/release/command_cnako3.json +1 -1
  60. package/release/command_list.json +1 -1
  61. package/release/editor.js +1 -1
  62. package/release/plugin_caniuse.js +1 -1
  63. package/release/plugin_kansuji.js +1 -1
  64. package/release/plugin_markup.js +1 -1
  65. package/release/stats.json +1 -1
  66. package/release/version.js +1 -1
  67. package/release/wnako3.js +1 -1
  68. package/release/wnako3.js.LICENSE.txt +1 -1
  69. package/src/browsers.mjs +1 -1
  70. package/src/browsers.txt +7 -6
  71. package/src/browsers_agents.json +2 -2
  72. package/src/browsers_agents.mjs +1 -1
  73. package/src/cnako3.mjs +13 -13
  74. package/src/cnako3mod.mjs +501 -501
  75. package/src/commander_ja.mjs +159 -159
  76. package/src/enako3.mjs +69 -69
  77. package/src/era.mjs +22 -22
  78. package/src/image_turtle-elephant.mjs +4 -4
  79. package/src/image_turtle-panda.mjs +4 -4
  80. package/src/image_turtle64.mjs +4 -4
  81. package/src/index.mjs +9 -9
  82. package/src/nako3.mjs +870 -873
  83. package/src/nako3_assert.mjs +38 -38
  84. package/src/nako3editorfix.sfd +106 -106
  85. package/src/nako3server.mjs +58 -58
  86. package/src/nako_colors.mjs +86 -86
  87. package/src/nako_errors.mjs +166 -166
  88. package/src/nako_from_dncl.mjs +267 -267
  89. package/src/nako_gen.mjs +1626 -1626
  90. package/src/nako_gen_async.mjs +1707 -1707
  91. package/src/nako_global.mjs +113 -113
  92. package/src/nako_indent.mjs +485 -485
  93. package/src/nako_josi_list.mjs +48 -48
  94. package/src/nako_lex_rules.mjs +244 -244
  95. package/src/nako_lexer.mjs +635 -635
  96. package/src/nako_logger.mjs +137 -137
  97. package/src/nako_parser3.mjs +2135 -2130
  98. package/src/nako_parser_base.mjs +332 -332
  99. package/src/nako_parser_const.mjs +35 -35
  100. package/src/nako_prepare.mjs +334 -334
  101. package/src/nako_reserved_words.mjs +41 -41
  102. package/src/nako_source_mapping.mjs +244 -244
  103. package/src/nako_test.mjs +37 -37
  104. package/src/nako_version.mjs +2 -2
  105. package/src/plugin_browser.mjs +205 -205
  106. package/src/plugin_browser_ajax.mjs +399 -399
  107. package/src/plugin_browser_audio.mjs +109 -109
  108. package/src/plugin_browser_canvas.mjs +461 -461
  109. package/src/plugin_browser_chart.mjs +294 -294
  110. package/src/plugin_browser_color.mjs +49 -49
  111. package/src/plugin_browser_crypto.mjs +26 -26
  112. package/src/plugin_browser_dialog.mjs +53 -53
  113. package/src/plugin_browser_dom_basic.mjs +336 -336
  114. package/src/plugin_browser_dom_event.mjs +193 -193
  115. package/src/plugin_browser_dom_parts.mjs +398 -398
  116. package/src/plugin_browser_geolocation.mjs +51 -51
  117. package/src/plugin_browser_hotkey.mjs +25 -25
  118. package/src/plugin_browser_html.mjs +59 -59
  119. package/src/plugin_browser_in_worker.mjs +44 -44
  120. package/src/plugin_browser_location.mjs +21 -21
  121. package/src/plugin_browser_speech.mjs +111 -111
  122. package/src/plugin_browser_storage.mjs +121 -121
  123. package/src/plugin_browser_system.mjs +30 -30
  124. package/src/plugin_browser_websocket.mjs +73 -73
  125. package/src/plugin_caniuse.mjs +29 -29
  126. package/src/plugin_csv.mjs +56 -56
  127. package/src/plugin_datetime.mjs +407 -407
  128. package/src/plugin_express.mjs +213 -213
  129. package/src/plugin_kansuji.mjs +224 -224
  130. package/src/plugin_keigo.mjs +55 -55
  131. package/src/plugin_markup.mjs +32 -32
  132. package/src/plugin_math.mjs +324 -324
  133. package/src/plugin_node.mjs +1003 -1003
  134. package/src/plugin_promise.mjs +92 -92
  135. package/src/plugin_system.mjs +2665 -2665
  136. package/src/plugin_test.mjs +36 -36
  137. package/src/plugin_turtle.mjs +647 -647
  138. package/src/plugin_webworker.mjs +334 -334
  139. package/src/plugin_weykturtle3d.mjs +1214 -1214
  140. package/src/plugin_worker.mjs +95 -95
  141. package/src/repl.nako3 +63 -63
  142. package/src/wnako3.mjs +177 -177
  143. package/src/wnako3_editor.css +215 -215
  144. package/src/wnako3_editor.mjs +1651 -1651
  145. package/src/wnako3webworker.mjs +70 -70
  146. package/test/ace_editor/karma.config.js +94 -94
  147. package/test/ace_editor/test/.babelrc.json +3 -3
  148. package/test/ace_editor/test/ace_editor_test.js +178 -178
  149. package/test/ace_editor/test/html/custom_context.html +139 -139
  150. package/test/async/async_basic_test.mjs +123 -123
  151. package/test/browser/karma.config.js +221 -221
  152. package/test/browser/test/.babelrc.json +3 -3
  153. package/test/browser/test/compare_util.js +50 -50
  154. package/test/browser/test/html/div_basic.html +2 -2
  155. package/test/browser/test/html/event_dom_form.html +4 -4
  156. package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
  157. package/test/browser/test/import_plugin_checker.js +24 -24
  158. package/test/browser/test/plugin_browser_test.js +52 -52
  159. package/test/browser/test/plugin_browser_test_ajax.js +123 -123
  160. package/test/browser/test/plugin_browser_test_color.js +18 -18
  161. package/test/browser/test/plugin_browser_test_dialog.js +72 -72
  162. package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
  163. package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
  164. package/test/browser/test/plugin_browser_test_system.js +9 -9
  165. package/test/browser/test/plugin_turtle_test.js +817 -817
  166. package/test/browser/test/plugin_webworker_test.js +87 -87
  167. package/test/browser/test/require_test.js +71 -71
  168. package/test/bundled/karma.config.base.js +117 -117
  169. package/test/bundled/karma.config.js +86 -86
  170. package/test/bundled/test/.babelrc.json +3 -3
  171. package/test/bundled/test/bundled_test.js +69 -69
  172. package/test/bundled/test/html/custom_context.html +65 -65
  173. package/test/bundled/test/html/custom_debug.html +66 -66
  174. package/test/bundled/test4b.cmd +52 -52
  175. package/test/bundled/test_base/.babelrc.json +3 -3
  176. package/test/bundled/test_base/_checktool_test.js +25 -25
  177. package/test/bundled/test_base/basic_ajax_test.js +56 -56
  178. package/test/bundled/test_base/basic_async_test.js +18 -18
  179. package/test/bundled/test_base/basic_test.js +153 -153
  180. package/test/bundled/test_base/calc_test.js +132 -132
  181. package/test/bundled/test_base/css/browsers_box.css +114 -114
  182. package/test/bundled/test_base/html/custom_context.html +69 -69
  183. package/test/bundled/test_base/html/custom_debug.html +71 -71
  184. package/test/bundled/test_base/js/browsers_box.js +72 -72
  185. package/test/bundled/test_base/plugin_csv_test.js +37 -37
  186. package/test/bundled/test_base/plugin_datetime_test.js +115 -115
  187. package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
  188. package/test/bundled/test_base/plugin_system_test.js +410 -410
  189. package/test/bundled/test_base/plugin_webworker_test.js +53 -53
  190. package/test/bundled/test_base/test_utils.js +191 -191
  191. package/test/common/array_test.mjs +40 -40
  192. package/test/common/basic_test.mjs +331 -331
  193. package/test/common/calc_test.mjs +144 -144
  194. package/test/common/debug_test.mjs +16 -16
  195. package/test/common/dncl_test.mjs +95 -95
  196. package/test/common/error_test.mjs +16 -16
  197. package/test/common/flow_test.mjs +374 -374
  198. package/test/common/func_call.mjs +139 -136
  199. package/test/common/func_test.mjs +149 -149
  200. package/test/common/indent_test.mjs +363 -363
  201. package/test/common/lex_test.mjs +155 -155
  202. package/test/common/literal_test.mjs +72 -72
  203. package/test/common/nako_logger_test.mjs +26 -26
  204. package/test/common/plugin_browser_test.mjs +24 -24
  205. package/test/common/plugin_browser_ut_audio_test.mjs +88 -88
  206. package/test/common/plugin_browser_ut_color_test.mjs +21 -21
  207. package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
  208. package/test/common/plugin_browser_ut_html_test.mjs +13 -13
  209. package/test/common/plugin_browser_ut_system_test.mjs +10 -10
  210. package/test/common/plugin_csv_test.mjs +39 -39
  211. package/test/common/plugin_datetime_test.mjs +120 -120
  212. package/test/common/plugin_kansuji_test.mjs +59 -59
  213. package/test/common/plugin_markup_test.mjs +21 -21
  214. package/test/common/plugin_promise_test.mjs +18 -18
  215. package/test/common/plugin_system_test.mjs +606 -606
  216. package/test/common/prepare_test.mjs +93 -93
  217. package/test/common/re_test.mjs +20 -20
  218. package/test/common/variable_scope_test.mjs +121 -121
  219. package/test/jsconfig.json +19 -19
  220. package/test/karma.config.js +91 -91
  221. package/test/node/async_test.mjs +81 -81
  222. package/test/node/commander_ja_test.mjs +87 -87
  223. package/test/node/error_message_test.mjs +249 -249
  224. package/test/node/kai_test.nako3 +6 -6
  225. package/test/node/node_test.mjs +57 -57
  226. package/test/node/plugin_broken.js.txt +3 -3
  227. package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
  228. package/test/node/plugin_browser_ut_location_test.mjs +32 -32
  229. package/test/node/plugin_markup_test.mjs +43 -43
  230. package/test/node/plugin_math_test.mjs +42 -42
  231. package/test/node/plugin_node_test.mjs +97 -97
  232. package/test/node/plugin_test.mjs +42 -42
  233. package/test/node/relative_import_test_1.nako3 +1 -1
  234. package/test/node/relative_import_test_2.nako3 +2 -2
  235. package/test/node/require_nako3_test.mjs +66 -66
  236. package/test/node/requiretest.nako3 +4 -4
  237. package/test/node/requiretest_indirect.nako3 +1 -1
  238. package/test/node/requiretest_name.nako3 +5 -5
  239. package/test/node/runtime_error.nako3 +2 -2
  240. package/test/node/scope1.nako3 +10 -10
  241. package/test/node/scope2.nako3 +12 -12
  242. package/test/node/side_effects_test.mjs +117 -117
  243. package/test/node/sjis.txt +5 -5
  244. package/test/node/syntax_error.nako3 +1 -1
  245. package/test/node/wnako3_editor_test.mjs +378 -378
  246. package/tools/README.md +7 -7
  247. package/tools/nako3edit/html/daisyui/LICENSE +22 -22
  248. package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
  249. package/tools/nako3edit/html/edit.html +168 -168
  250. package/tools/nako3edit/html/edit_plugin.js +6 -6
  251. package/tools/nako3edit/html/files.html +125 -125
  252. package/tools/nako3edit/html/nako3edit.css +65 -65
  253. package/tools/nako3edit/index.nako3 +187 -187
  254. package/tools/nako3edit/run.mjs +18 -18
  255. package/demo/extlib/ace@1.4.12/ace.js +0 -17
  256. package/demo/extlib/ace@1.4.12/ext-code_lens.min.js +0 -1
  257. package/demo/extlib/ace@1.4.12/ext-language_tools.min.js +0 -1
  258. package/demo/extlib/ace@1.4.12/ext-options.min.js +0 -1
  259. package/demo/extlib/ace@1.4.12/ext-settings_menu.js +0 -8
  260. package/demo/extlib/ace@1.4.12/keybinding-vscode.js +0 -8
  261. package/demo/extlib/ace@1.4.12/theme-monokai.js +0 -8
  262. package/demo/extlib/ace@1.4.12/theme-xcode.js +0 -8
  263. package/demo/extlib/chart.js@3.2.1/chart.min.js +0 -13
  264. package/demo/extlib/pure-min.css +0 -11
  265. package/demo/nako3/taberu.nako3 +0 -5
  266. package/release/nako_gen_async.js.LICENSE.txt +0 -35
  267. package/release/plugin_caniuse.js.LICENSE.txt +0 -11
  268. package/release/plugin_csv.js.LICENSE.txt +0 -15
  269. package/release/plugin_datetime.js.LICENSE.txt +0 -15
  270. package/release/plugin_kansuji.js.LICENSE.txt +0 -3
  271. package/release/plugin_markup.js.LICENSE.txt +0 -11
  272. package/release/plugin_turtle.js.LICENSE.txt +0 -15
  273. package/release/plugin_webworker.js.LICENSE.txt +0 -3
  274. package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
  275. package/release/wnako3webworker.js.LICENSE.txt +0 -3
  276. package/test/common/nako_lexer_test.mjs +0 -33
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2017 kujirahand
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2017 kujirahand
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,109 +1,109 @@
1
- # 日本語プログラミング言語「なでしこ3」
2
-
3
- [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
4
- [![npm version](https://badge.fury.io/js/nadesiko3.svg)](https://www.npmjs.com/package/nadesiko3)
5
- ![Node.js CI](https://github.com/kujirahand/nadesiko3/workflows/Node.js%20CI/badge.svg)
6
-
7
- ## 「なでしこ3」とは
8
-
9
- 「なでしこ3」とは、日本語のプログラミング言語です。HTML5/JavaScriptをベースとしているので、PC/スマホ/タブレットなど、さまざまな環境で動作させることができます。
10
-
11
- 日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。また、バッチ処理や定型処理などを手軽に記述できます。
12
-
13
- - [なでしこのWebサイト](https://nadesi.com/top/)
14
- - [なでしこ3のWebサイト](https://nadesi.com/doc3/)
15
- - [なでしこ3(GitHub Pages)](https://kujirahand.github.io/nadesiko3/)
16
-
17
- ## 対応機器/ブラウザ
18
-
19
- 主要ブラウザ(Chrome/Safari/Edge/Firefox)に対応しています。詳しくは、[対応機器/ブラウザ](doc/browsers.md) をご覧ください。
20
-
21
- ## ブラウザで利用する場合
22
-
23
- 以下、Webエディタ上で、なでしこを実行できます。
24
-
25
- - [なでしこ3簡易エディタ](https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E7%B0%A1%E6%98%93%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF)
26
- - [なでしこ3貯蔵庫(プログラム一覧)](https://n3s.nadesi.com/)
27
- - [なでしこエディタの一覧](https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%81%AE%E4%B8%80%E8%A6%A7)
28
-
29
- ## 各OSごとに利用する方法
30
-
31
- なでしこ3をPC向けにローカル環境で動作させることも可能です。
32
-
33
- - [OS別のインストール方法](https://nadesi.com/doc3/index.php?OS%E5%88%A5)
34
-
35
- 外部リポジトリに個別の配布パッケージを用意しています(ただし、最新版とは限りません)
36
-
37
- - [なでしこ3配布キット(webkit版)](https://github.com/kujirahand/nadesiko3webkit)
38
- - [なでしこ3配布キット(electron版)](https://github.com/kujirahand/nadesiko3electron)
39
- - [なでしこ3(コンソール版)のWindows配布パッケージ](https://github.com/kujirahand/nadesiko3win32/releases)
40
-
41
- ## その他のなでしこ3について
42
-
43
- 実験的な意味合いもありますが、各プログラミング言語で実装したなでしこ3があります。なでしこ3PHPでは掲示板、チャットなど、それなりに実用的なプログラムも作れます。
44
-
45
- - [なでしこ3PHP](https://github.com/kujirahand/nadesiko3php)
46
- - [なでしこ3Rust](https://github.com/kujirahand/nadesiko3rust)
47
- - [なでしこ3Go言語](https://github.com/kujirahand/nadesiko3go)
48
-
49
- ## npm でなでしこ3コマンドライン版をインストール
50
-
51
- 先にNode.jsをインストールします。
52
- 次いで、コマンドラインから以下のコマンドを実行します。
53
-
54
- ```bash
55
- npm install -g nadesiko3
56
- ```
57
-
58
- すると、cnako3というコマンドで、なでしこを利用できます。
59
-
60
- ```bash
61
- # なでしこのサーバーを起動
62
- npm start
63
- # なでしこエディタ(PC版)を起動
64
- npm run nako3edit
65
- # なでしこエディタ(WEB版)を起動
66
- npm run nako3server
67
- ```
68
-
69
- ## Gitからインストール
70
-
71
- また、以下のコマンドを実行すると、ブラウザ上になでしこの簡易エディタが起動します。
72
-
73
- ```bash
74
- git clone https://github.com/kujirahand/nadesiko3.git
75
- cd nadesiko3
76
- npm install
77
- ```
78
-
79
- ## 追加インストール(macOS/Linux)
80
-
81
- 必要に応じて以下のコマンドをインストールします。
82
-
83
- macOS:
84
-
85
- ```bash
86
- # 『圧縮』『解凍』命令のために
87
- brew install p7zip
88
- ```
89
-
90
- Ubuntu/Debian:
91
-
92
- ```bash
93
- # 『圧縮』『解凍』命令のために
94
- sudo apt install p7zip-full
95
- # 『キー送信』命令のために
96
- sudo apt install xdotool
97
- ```
98
-
99
- 全てのコマンドが正しく動くかを確認するには、以下のコマンドを実行します。
100
-
101
- ```bash
102
- npm test
103
- npm run test:all
104
- ```
105
-
106
- ## なでしこ3の開発に参加する
107
-
108
- なでしこ3自身を開発するために、開発環境を整えようという方は、 [doc/SETUP.md](doc/SETUP.md) をご覧ください。
109
- また、なでしこ3開発者向けの[Gitter](https://gitter.im/nadesiko3/community)への参加も可能です。
1
+ # 日本語プログラミング言語「なでしこ3」
2
+
3
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
4
+ [![npm version](https://badge.fury.io/js/nadesiko3.svg)](https://www.npmjs.com/package/nadesiko3)
5
+ ![Node.js CI](https://github.com/kujirahand/nadesiko3/workflows/Node.js%20CI/badge.svg)
6
+
7
+ ## 「なでしこ3」とは
8
+
9
+ 「なでしこ3」とは、日本語のプログラミング言語です。HTML5/JavaScriptをベースとしているので、PC/スマホ/タブレットなど、さまざまな環境で動作させることができます。
10
+
11
+ 日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。また、バッチ処理や定型処理などを手軽に記述できます。
12
+
13
+ - [なでしこのWebサイト](https://nadesi.com/top/)
14
+ - [なでしこ3のWebサイト](https://nadesi.com/doc3/)
15
+ - [なでしこ3(GitHub Pages)](https://kujirahand.github.io/nadesiko3/)
16
+
17
+ ## 対応機器/ブラウザ
18
+
19
+ 主要ブラウザ(Chrome/Safari/Edge/Firefox)に対応しています。詳しくは、[対応機器/ブラウザ](doc/browsers.md) をご覧ください。
20
+
21
+ ## ブラウザで利用する場合
22
+
23
+ 以下、Webエディタ上で、なでしこを実行できます。
24
+
25
+ - [なでしこ3簡易エディタ](https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E7%B0%A1%E6%98%93%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF)
26
+ - [なでしこ3貯蔵庫(プログラム一覧)](https://n3s.nadesi.com/)
27
+ - [なでしこエディタの一覧](https://nadesi.com/doc3/index.php?%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%81%AE%E4%B8%80%E8%A6%A7)
28
+
29
+ ## 各OSごとに利用する方法
30
+
31
+ なでしこ3をPC向けにローカル環境で動作させることも可能です。
32
+
33
+ - [OS別のインストール方法](https://nadesi.com/doc3/index.php?OS%E5%88%A5)
34
+
35
+ 外部リポジトリに個別の配布パッケージを用意しています(ただし、最新版とは限りません)
36
+
37
+ - [なでしこ3配布キット(webkit版)](https://github.com/kujirahand/nadesiko3webkit)
38
+ - [なでしこ3配布キット(electron版)](https://github.com/kujirahand/nadesiko3electron)
39
+ - [なでしこ3(コンソール版)のWindows配布パッケージ](https://github.com/kujirahand/nadesiko3win32/releases)
40
+
41
+ ## その他のなでしこ3について
42
+
43
+ 実験的な意味合いもありますが、各プログラミング言語で実装したなでしこ3があります。なでしこ3PHPでは掲示板、チャットなど、それなりに実用的なプログラムも作れます。
44
+
45
+ - [なでしこ3PHP](https://github.com/kujirahand/nadesiko3php)
46
+ - [なでしこ3Rust](https://github.com/kujirahand/nadesiko3rust)
47
+ - [なでしこ3Go言語](https://github.com/kujirahand/nadesiko3go)
48
+
49
+ ## npm でなでしこ3コマンドライン版をインストール
50
+
51
+ 先にNode.jsをインストールします。
52
+ 次いで、コマンドラインから以下のコマンドを実行します。
53
+
54
+ ```bash
55
+ npm install -g nadesiko3
56
+ ```
57
+
58
+ すると、cnako3というコマンドで、なでしこを利用できます。
59
+
60
+ ```bash
61
+ # なでしこのサーバーを起動
62
+ npm start
63
+ # なでしこエディタ(PC版)を起動
64
+ npm run nako3edit
65
+ # なでしこエディタ(WEB版)を起動
66
+ npm run nako3server
67
+ ```
68
+
69
+ ## Gitからインストール
70
+
71
+ また、以下のコマンドを実行すると、ブラウザ上になでしこの簡易エディタが起動します。
72
+
73
+ ```bash
74
+ git clone https://github.com/kujirahand/nadesiko3.git
75
+ cd nadesiko3
76
+ npm install
77
+ ```
78
+
79
+ ## 追加インストール(macOS/Linux)
80
+
81
+ 必要に応じて以下のコマンドをインストールします。
82
+
83
+ macOS:
84
+
85
+ ```bash
86
+ # 『圧縮』『解凍』命令のために
87
+ brew install p7zip
88
+ ```
89
+
90
+ Ubuntu/Debian:
91
+
92
+ ```bash
93
+ # 『圧縮』『解凍』命令のために
94
+ sudo apt install p7zip-full
95
+ # 『キー送信』命令のために
96
+ sudo apt install xdotool
97
+ ```
98
+
99
+ 全てのコマンドが正しく動くかを確認するには、以下のコマンドを実行します。
100
+
101
+ ```bash
102
+ npm test
103
+ npm run test:all
104
+ ```
105
+
106
+ ## なでしこ3の開発に参加する
107
+
108
+ なでしこ3自身を開発するために、開発環境を整えようという方は、 [doc/SETUP.md](doc/SETUP.md) をご覧ください。
109
+ また、なでしこ3開発者向けの[Gitter](https://gitter.im/nadesiko3/community)への参加も可能です。
@@ -1,3 +1,3 @@
1
- # 対応機器/ブラウザ
2
-
3
- {embed browser}
1
+ # 対応機器/ブラウザ
2
+
3
+ {embed browser}
@@ -1,72 +1,72 @@
1
- #-------------------------------------------------
2
- # ブラウザ対応表を作成
3
- #-------------------------------------------------
4
- # 入力: src/browsers.txt
5
- # 出力:
6
- # - src/browsers.json (plugin_caniuse.jsで利用)
7
- # - doc/browsers.md
8
- # - demo/browsers.html
9
- #-------------------------------------------------
10
- # 【注意】
11
- # このプログラムを実行する前に以下のコマンドを実行してください。
12
- # $ npx browserslist > src/browsers.txt
13
- # あるいは直接これを実行するのではなく以下のコマンドを実行します。
14
- # $ npm run build:browsers を実行してください。
15
- #-------------------------------------------------
16
- !「../src/plugin_markup.mjs」を取り込む
17
- !「../src/plugin_caniuse.mjs」を取り込む
18
- #-------------------------------------------------
19
- # src/browsers.jsonを作成
20
- 基本パス=母艦パスを「../」で相対パス展開。
21
- リストファイル=「{基本パス}/src/browsers.txt」
22
- 対応表={}
23
- リストファイルを開く。
24
- 改行で区切って反復
25
-   トリム。もし、それが空ならば続ける。
26
-   変数[ブラウザ,バージョン] = (対象を「 」で区切る)。
27
-   もし(対応表にブラウザが辞書キー存在)でなければ
28
-     対応表@ブラウザ=[]
29
-     #ブラウザを表示。
30
-   ここまで。
31
-   対応表@ブラウザにバージョンを配列追加。
32
- ここまで。
33
- 対応表をJSONエンコードしてJSに代入。
34
- 「export default {JS}」を「{基本パス}/src/browsers.mjs」へ保存。
35
-
36
- #-------------------------------------------------
37
- # doc/browsers.mjsを作成
38
- MD="# なでしこ3 対応ブラウザ一覧"&改行&改行
39
- MD=MD&"日本語プログラミング言語「なでしこ3」は以下のブラウザに対応しています。"&改行&改行
40
- ブラウザ名変換表@"node"="Node.js"
41
- TYPES={
42
- "デスクトップ":["ie","edge","firefox","chrome","safari","opera","node"],
43
- "モバイル":["ios_saf","op_mini","android","bb","op_mob","and_chr","and_ff","ie_mob","and_uc","samsung","and_qq","baidu","kaios"]
44
- }
45
- TYPESを反復
46
-   タイプ=対象キー。
47
-   ブラウザ一覧=対象。
48
-   MD=MD&"## {タイプ}"&改行&改行。
49
-   ブラウザ一覧を反復
50
-     ブラウザ=対象。
51
-     ブラウザ名=ブラウザ名変換表@ブラウザ。
52
-     対応バージョン=対応表@ブラウザ。
53
-     もし、対応バージョン=未定義ならば、続ける。
54
-     VER=対応バージョンを「/」で配列結合。
55
-     MD=MD&"- {ブラウザ名} ({VER}以上)"&改行
56
-   ここまで。
57
-   MD=MD&改行;
58
- ここまで
59
- MD=トリム(MD)&改行。# 必ず末尾の改行は1つだけに
60
- MDを「{基本パス}/doc/browsers.md」へ保存。
61
- MDを表示。
62
- #-------------------------------------------------
63
- # demo/browsers.html
64
- MDをマークダウンHTML変換してHTML整形してHTMLに代入。
65
- 「<html><head>
66
- <title>対応ブラウザ - なでしこ3</title>
67
- </head><body>
68
- {HTML}
69
- </body></html>」を「{基本パス}/demo/browsers.html」に保存
70
- #-------------------------------------------------
71
- 「ok」と表示。
72
-
1
+ #-------------------------------------------------
2
+ # ブラウザ対応表を作成
3
+ #-------------------------------------------------
4
+ # 入力: src/browsers.txt
5
+ # 出力:
6
+ # - src/browsers.json (plugin_caniuse.jsで利用)
7
+ # - doc/browsers.md
8
+ # - demo/browsers.html
9
+ #-------------------------------------------------
10
+ # 【注意】
11
+ # このプログラムを実行する前に以下のコマンドを実行してください。
12
+ # $ npx browserslist > src/browsers.txt
13
+ # あるいは直接これを実行するのではなく以下のコマンドを実行します。
14
+ # $ npm run build:browsers を実行してください。
15
+ #-------------------------------------------------
16
+ !「../src/plugin_markup.mjs」を取り込む
17
+ !「../src/plugin_caniuse.mjs」を取り込む
18
+ #-------------------------------------------------
19
+ # src/browsers.jsonを作成
20
+ 基本パス=母艦パスを「../」で相対パス展開。
21
+ リストファイル=「{基本パス}/src/browsers.txt」
22
+ 対応表={}
23
+ リストファイルを開く。
24
+ 改行で区切って反復
25
+   トリム。もし、それが空ならば続ける。
26
+   変数[ブラウザ,バージョン] = (対象を「 」で区切る)。
27
+   もし(対応表にブラウザが辞書キー存在)でなければ
28
+     対応表@ブラウザ=[]
29
+     #ブラウザを表示。
30
+   ここまで。
31
+   対応表@ブラウザにバージョンを配列追加。
32
+ ここまで。
33
+ 対応表をJSONエンコードしてJSに代入。
34
+ 「export default {JS}」を「{基本パス}/src/browsers.mjs」へ保存。
35
+
36
+ #-------------------------------------------------
37
+ # doc/browsers.mjsを作成
38
+ MD="# なでしこ3 対応ブラウザ一覧"&改行&改行
39
+ MD=MD&"日本語プログラミング言語「なでしこ3」は以下のブラウザに対応しています。"&改行&改行
40
+ ブラウザ名変換表@"node"="Node.js"
41
+ TYPES={
42
+ "デスクトップ":["ie","edge","firefox","chrome","safari","opera","node"],
43
+ "モバイル":["ios_saf","op_mini","android","bb","op_mob","and_chr","and_ff","ie_mob","and_uc","samsung","and_qq","baidu","kaios"]
44
+ }
45
+ TYPESを反復
46
+   タイプ=対象キー。
47
+   ブラウザ一覧=対象。
48
+   MD=MD&"## {タイプ}"&改行&改行。
49
+   ブラウザ一覧を反復
50
+     ブラウザ=対象。
51
+     ブラウザ名=ブラウザ名変換表@ブラウザ。
52
+     対応バージョン=対応表@ブラウザ。
53
+     もし、対応バージョン=未定義ならば、続ける。
54
+     VER=対応バージョンを「/」で配列結合。
55
+     MD=MD&"- {ブラウザ名} ({VER}以上)"&改行
56
+   ここまで。
57
+   MD=MD&改行;
58
+ ここまで
59
+ MD=トリム(MD)&改行。# 必ず末尾の改行は1つだけに
60
+ MDを「{基本パス}/doc/browsers.md」へ保存。
61
+ MDを表示。
62
+ #-------------------------------------------------
63
+ # demo/browsers.html
64
+ MDをマークダウンHTML変換してHTML整形してHTMLに代入。
65
+ 「<html><head>
66
+ <title>対応ブラウザ - なでしこ3</title>
67
+ </head><body>
68
+ {HTML}
69
+ </body></html>」を「{基本パス}/demo/browsers.html」に保存
70
+ #-------------------------------------------------
71
+ 「ok」と表示。
72
+
@@ -1,44 +1,44 @@
1
- #-------------------------------------------------
2
- # なでしこのソースコードから命令一覧を生成する
3
- #-------------------------------------------------
4
- # 入力: src/plugin_xxx.js
5
- # 出力: command.txt / command.json を生成
6
- #-------------------------------------------------
7
- # 実際の処理は個々のスクリプトにて
8
-
9
- 基本パス=母艦パスを「../」で相対パス展開。
10
-
11
- 「{基本パス}/release」のフォルダ作成
12
-
13
- # バッチを実行
14
- 基本パスを表示。
15
- # 命令一覧をピックアップして必要な形式に変換
16
- 「{基本パス}/batch/pickup_command.nako3」をCNAKO実行。
17
- 「{基本パス}/batch/cmd_txt2json.nako3」をCNAKO実行。
18
- # JSファイルのハッシュを計算
19
- 「{基本パス}/batch/calc_hash」をCNAKO実行。
20
- # 助詞一覧、予約語一覧を生成
21
- 助詞一覧取得してJSONエンコード整形してSに代入。
22
- 「{基本パス}/release/josi.json」にSを保存。
23
- 予約語一覧取得してJSONエンコード整形してSに代入。
24
- 「{基本パス}/release/yoyakugo.json」にSを保存。
25
-
26
- # Windows版のnakopad用ファイルを生成してファイルをコピー
27
- 「{基本パス}/batch/gen_command_nakopad.nako3」をCNAKO実行。
28
- 「{基本パス}/batch/command_nakopad.txt」から「{基本パス}/installer/nako3-win32-template/bin/tools/command.txt」へファイルコピー。
29
-
30
- ●CNAKO実行(Cを)
31
- CMD=「node {基本パス}/src/cnako3.mjs {C}」
32
- Cを表示。
33
- S=CMDを起動待機。
34
- 成功フラグ=はい。
35
- # エラーなら処理を打ち切るように。
36
- Sで「[エラー]」が何文字目か
37
- もし、それ>0ならば、いいえを成功フラグに代入。
38
- Sで「[警告]」が何文字目か
39
- もし、それ>0ならば、いいえを成功フラグに代入。
40
- もし、成功フラグ=いいえならば
41
-   「⚠︎⚠︎⚠︎[コマンド生成の失敗]: {S}」を表示
42
-   終わり。
43
- ここまで。
44
- ここまで。
1
+ #-------------------------------------------------
2
+ # なでしこのソースコードから命令一覧を生成する
3
+ #-------------------------------------------------
4
+ # 入力: src/plugin_xxx.js
5
+ # 出力: command.txt / command.json を生成
6
+ #-------------------------------------------------
7
+ # 実際の処理は個々のスクリプトにて
8
+
9
+ 基本パス=母艦パスを「../」で相対パス展開。
10
+
11
+ 「{基本パス}/release」のフォルダ作成
12
+
13
+ # バッチを実行
14
+ 基本パスを表示。
15
+ # 命令一覧をピックアップして必要な形式に変換
16
+ 「{基本パス}/batch/pickup_command.nako3」をCNAKO実行。
17
+ 「{基本パス}/batch/cmd_txt2json.nako3」をCNAKO実行。
18
+ # JSファイルのハッシュを計算
19
+ 「{基本パス}/batch/calc_hash」をCNAKO実行。
20
+ # 助詞一覧、予約語一覧を生成
21
+ 助詞一覧取得してJSONエンコード整形してSに代入。
22
+ 「{基本パス}/release/josi.json」にSを保存。
23
+ 予約語一覧取得してJSONエンコード整形してSに代入。
24
+ 「{基本パス}/release/yoyakugo.json」にSを保存。
25
+
26
+ # Windows版のnakopad用ファイルを生成してファイルをコピー
27
+ 「{基本パス}/batch/gen_command_nakopad.nako3」をCNAKO実行。
28
+ 「{基本パス}/batch/command_nakopad.txt」から「{基本パス}/installer/nako3-win32-template/bin/tools/command.txt」へファイルコピー。
29
+
30
+ ●CNAKO実行(Cを)
31
+ CMD=「node {基本パス}/src/cnako3.mjs {C}」
32
+ Cを表示。
33
+ S=CMDを起動待機。
34
+ 成功フラグ=はい。
35
+ # エラーなら処理を打ち切るように。
36
+ Sで「[エラー]」が何文字目か
37
+ もし、それ>0ならば、いいえを成功フラグに代入。
38
+ Sで「[警告]」が何文字目か
39
+ もし、それ>0ならば、いいえを成功フラグに代入。
40
+ もし、成功フラグ=いいえならば
41
+   「⚠︎⚠︎⚠︎[コマンド生成の失敗]: {S}」を表示
42
+   終わり。
43
+ ここまで。
44
+ ここまで。
@@ -1,14 +1,14 @@
1
- 母艦パス取得してパス抽出して基本パスに代入。
2
- 「{基本パス}/package.json」を読んでJSONデコードして、Pに代入。
3
- VER=P@"version"
4
- 定数[MAJOR,MINOR,PATCH]=(VERを「.」で区切る)
5
- VS=「// なでしこバージョン
6
- export default {波カッコ}
7
- version: '{VER}',
8
- major: {MAJOR},
9
- minor: {MINOR},
10
- patch: {PATCH}
11
- {波カッコ閉}
12
-
13
- VSを表示。
14
- VSを「{基本パス}/src/nako_version.mjs」へ保存。
1
+ 母艦パス取得してパス抽出して基本パスに代入。
2
+ 「{基本パス}/package.json」を読んでJSONデコードして、Pに代入。
3
+ VER=P@"version"
4
+ 定数[MAJOR,MINOR,PATCH]=(VERを「.」で区切る)
5
+ VS=「// なでしこバージョン
6
+ export default {波カッコ}
7
+ version: '{VER}',
8
+ major: {MAJOR},
9
+ minor: {MINOR},
10
+ patch: {PATCH}
11
+ {波カッコ閉}
12
+
13
+ VSを表示。
14
+ VSを「{基本パス}/src/nako_version.mjs」へ保存。
@@ -1,29 +1,29 @@
1
- # release/*.js のハッシュを求める
2
- ROOT_DIR=母艦パスを「../」で相対パス展開
3
- VER=ナデシコバージョン
4
- // aaaaa
5
- JSDEF=""
6
- JSHASH=""
7
-
8
- 「{ROOT_DIR}/release/*.js」を全ファイル列挙
9
- 反復
10
-   # 対象を表示。
11
-   F=対象のファイル名抽出。
12
-   S=対象を読む。
13
-   HASH=Sを「sha512」の「base64」でハッシュ値計算。
14
-   # HASHを表示。
15
-   HASH_MD5=Sを「md5」の「hex」でハッシュ値計算。
16
-   HASH_SHA256=Sを「sha256」の「base64」でハッシュ値計算。
17
-   HASH_SHA256HEX=Sを「sha256」の「hex」でハッシュ値計算。
18
-   HASH_SHA512=Sを「sha512」の「base64」でハッシュ値計算。
19
-   JSDEF=JSDEF&「<script defer src="https://nadesi.com/v3/cdn.php?v={VER}&f=release/{F}" integrity="sha512-{HASH}" crossorigin="anonymous"></script>」&改行
20
-   JSHASH=JSHASH&「{F}:
21
- md5(hex): {HASH_MD5}
22
- sha256(hex): {HASH_SHA256HEX}
23
- sha256(base64): {HASH_SHA256}
24
- sha512(base64): {HASH_SHA512}」&改行
25
- ここまで
26
-
27
- JSDEFを「{ROOT_DIR}/release/_script-tags.txt」に保存。
28
- JSHASHを「{ROOT_DIR}/release/_hash.txt」に保存。
29
-
1
+ # release/*.js のハッシュを求める
2
+ ROOT_DIR=母艦パスを「../」で相対パス展開
3
+ VER=ナデシコバージョン
4
+ // aaaaa
5
+ JSDEF=""
6
+ JSHASH=""
7
+
8
+ 「{ROOT_DIR}/release/*.js」を全ファイル列挙
9
+ 反復
10
+   # 対象を表示。
11
+   F=対象のファイル名抽出。
12
+   S=対象を読む。
13
+   HASH=Sを「sha512」の「base64」でハッシュ値計算。
14
+   # HASHを表示。
15
+   HASH_MD5=Sを「md5」の「hex」でハッシュ値計算。
16
+   HASH_SHA256=Sを「sha256」の「base64」でハッシュ値計算。
17
+   HASH_SHA256HEX=Sを「sha256」の「hex」でハッシュ値計算。
18
+   HASH_SHA512=Sを「sha512」の「base64」でハッシュ値計算。
19
+   JSDEF=JSDEF&「<script defer src="https://nadesi.com/v3/cdn.php?v={VER}&f=release/{F}" integrity="sha512-{HASH}" crossorigin="anonymous"></script>」&改行
20
+   JSHASH=JSHASH&「{F}:
21
+ md5(hex): {HASH_MD5}
22
+ sha256(hex): {HASH_SHA256HEX}
23
+ sha256(base64): {HASH_SHA256}
24
+ sha512(base64): {HASH_SHA512}」&改行
25
+ ここまで
26
+
27
+ JSDEFを「{ROOT_DIR}/release/_script-tags.txt」に保存。
28
+ JSHASHを「{ROOT_DIR}/release/_hash.txt」に保存。
29
+