nadesiko3 3.3.11 → 3.3.14
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.
- package/LICENSE +21 -21
- package/README.md +121 -109
- package/batch/browsers.template.md +3 -3
- package/batch/build_browsers.nako3 +72 -72
- package/batch/build_command.nako3 +44 -44
- package/batch/build_nako_version.nako3 +14 -14
- package/batch/calc_hash.nako3 +29 -29
- package/batch/cmd_txt2json.nako3 +72 -72
- package/batch/command.txt +52 -1
- package/batch/command_nakopad.txt +46 -1
- package/batch/download-extlib.nako3 +43 -43
- package/batch/gen_command_nakopad.nako3 +57 -57
- package/batch/jsplugin2text.nako3 +269 -269
- package/batch/pickup_command.nako3 +84 -84
- package/batch/pickup_reserved_words.nako3 +11 -11
- package/batch/publish_version.nako3 +46 -46
- package/batch/show_agents.js +14 -14
- package/batch/turtle2js.nako3 +21 -21
- package/bin/cnako3 +10 -10
- package/demo/ace_editor.html +89 -89
- package/demo/ace_editor_tabs.html +161 -161
- package/demo/basic.html +71 -71
- package/demo/browsers.html +6 -6
- package/demo/css/basic.css +3 -3
- package/demo/css/common.css +157 -157
- package/demo/css/editor.css +8 -8
- package/demo/css/flow.css +3 -3
- package/demo/css/index.css +3 -3
- package/demo/extlib/ace@1.4.12/ace.js +17 -0
- package/demo/extlib/ace@1.4.12/ext-code_lens.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-language_tools.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-options.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-settings_menu.js +8 -0
- package/demo/extlib/ace@1.4.12/keybinding-vscode.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-monokai.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-xcode.js +8 -0
- package/demo/extlib/chart.js@3.2.1/chart.min.js +13 -0
- package/demo/extlib/pure-min.css +11 -0
- package/demo/flow.html +98 -98
- package/demo/graph.html +53 -53
- package/demo/image/nakopad-icon256.png +0 -0
- package/demo/index.html +133 -133
- package/demo/js/common.js +17 -17
- package/demo/js/turtle3d_test.js +44 -44
- package/demo/js/turtle_test.js +44 -44
- package/demo/nako3/aaa/bbb/ccc.nako3 +2 -0
- package/demo/nako3/aaa/p1.nako3 +4 -0
- package/demo/nako3/aaa.nako3 +5 -0
- package/demo/nako3/taberu.nako3 +5 -0
- package/demo/runscript.html +47 -47
- package/demo/runscript2.html +33 -33
- package/demo/runscript3.html +35 -35
- package/demo/turtle.html +58 -58
- package/demo/turtle2.html +141 -141
- package/demo/turtle3.html +279 -279
- package/demo/turtle3d.html +58 -58
- package/demo/turtle3d2.html +107 -107
- package/demo/version.html +24 -24
- package/doc/SETUP.md +157 -157
- package/doc/about.md +34 -34
- package/doc/browsers.md +6 -6
- package/doc/docgen.md +21 -21
- package/doc/editor.md +44 -44
- package/doc/files.md +37 -37
- package/doc/plugins.md +196 -196
- package/doc/release.md +78 -78
- package/doc/win32.md +57 -57
- package/package.json +206 -206
- package/release/_hash.txt +28 -28
- package/release/_script-tags.txt +14 -14
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/editor.js +1 -1
- package/release/nako_gen_async.js.LICENSE.txt +35 -0
- package/release/plugin_caniuse.js +1 -1
- package/release/plugin_caniuse.js.LICENSE.txt +11 -0
- package/release/plugin_csv.js.LICENSE.txt +15 -0
- package/release/plugin_datetime.js.LICENSE.txt +15 -0
- package/release/plugin_kansuji.js +1 -1
- package/release/plugin_kansuji.js.LICENSE.txt +3 -0
- package/release/plugin_markup.js +1 -1
- package/release/plugin_markup.js.LICENSE.txt +11 -0
- package/release/plugin_turtle.js.LICENSE.txt +15 -0
- package/release/plugin_webworker.js.LICENSE.txt +3 -0
- package/release/plugin_weykturtle3d.js.LICENSE.txt +3 -0
- package/release/stats.json +1 -1
- package/release/version.js +1 -1
- package/release/wnako3.js +1 -1
- package/release/wnako3.js.LICENSE.txt +1 -1
- package/release/wnako3webworker.js.LICENSE.txt +3 -0
- package/src/browsers.mjs +1 -1
- package/src/browsers.txt +6 -7
- package/src/browsers_agents.json +2 -2
- package/src/browsers_agents.mjs +1 -1
- package/src/cnako3.mjs +13 -13
- package/src/cnako3mod.mjs +543 -501
- package/src/commander_ja.mjs +159 -159
- package/src/enako3.mjs +69 -69
- package/src/era.mjs +22 -22
- package/src/image_turtle-elephant.mjs +4 -4
- package/src/image_turtle-panda.mjs +4 -4
- package/src/image_turtle64.mjs +4 -4
- package/src/index.mjs +12 -9
- package/src/nako3.mjs +869 -870
- package/src/nako3_assert.mjs +38 -38
- package/src/nako3editorfix.sfd +106 -106
- package/src/nako3server.mjs +58 -58
- package/src/nako_colors.mjs +86 -86
- package/src/nako_errors.mjs +166 -166
- package/src/nako_from_dncl.mjs +267 -267
- package/src/nako_gen.mjs +1628 -1626
- package/src/nako_gen_async.mjs +1707 -1707
- package/src/nako_global.mjs +113 -113
- package/src/nako_indent.mjs +485 -485
- package/src/nako_josi_list.mjs +48 -48
- package/src/nako_lex_rules.mjs +244 -244
- package/src/nako_lexer.mjs +635 -635
- package/src/nako_logger.mjs +137 -137
- package/src/nako_parser3.mjs +2140 -2135
- package/src/nako_parser_base.mjs +331 -332
- package/src/nako_parser_const.mjs +35 -35
- package/src/nako_prepare.mjs +334 -334
- package/src/nako_reserved_words.mjs +41 -41
- package/src/nako_source_mapping.mjs +244 -244
- package/src/nako_test.mjs +37 -37
- package/src/nako_version.mjs +2 -2
- package/src/plugin_browser.mjs +205 -205
- package/src/plugin_browser_ajax.mjs +399 -399
- package/src/plugin_browser_audio.mjs +109 -109
- package/src/plugin_browser_canvas.mjs +461 -461
- package/src/plugin_browser_chart.mjs +294 -294
- package/src/plugin_browser_color.mjs +49 -49
- package/src/plugin_browser_crypto.mjs +26 -26
- package/src/plugin_browser_dialog.mjs +53 -53
- package/src/plugin_browser_dom_basic.mjs +336 -336
- package/src/plugin_browser_dom_event.mjs +193 -193
- package/src/plugin_browser_dom_parts.mjs +398 -398
- package/src/plugin_browser_geolocation.mjs +51 -51
- package/src/plugin_browser_hotkey.mjs +25 -25
- package/src/plugin_browser_html.mjs +59 -59
- package/src/plugin_browser_in_worker.mjs +44 -44
- package/src/plugin_browser_location.mjs +21 -21
- package/src/plugin_browser_speech.mjs +111 -111
- package/src/plugin_browser_storage.mjs +121 -121
- package/src/plugin_browser_system.mjs +30 -30
- package/src/plugin_browser_websocket.mjs +73 -73
- package/src/plugin_caniuse.mjs +29 -29
- package/src/plugin_csv.mjs +56 -56
- package/src/plugin_datetime.mjs +407 -407
- package/src/plugin_express.mjs +213 -213
- package/src/plugin_kansuji.mjs +224 -224
- package/src/plugin_keigo.mjs +55 -55
- package/src/plugin_markup.mjs +32 -32
- package/src/plugin_math.mjs +324 -324
- package/src/plugin_node.mjs +1005 -1003
- package/src/plugin_promise.mjs +92 -92
- package/src/plugin_system.mjs +2665 -2665
- package/src/plugin_test.mjs +36 -36
- package/src/plugin_turtle.mjs +647 -647
- package/src/plugin_webworker.mjs +334 -334
- package/src/plugin_weykturtle3d.mjs +1214 -1214
- package/src/plugin_worker.mjs +95 -95
- package/src/repl.nako3 +63 -63
- package/src/wnako3.mjs +200 -177
- package/src/wnako3_editor.css +215 -215
- package/src/wnako3_editor.mjs +1651 -1651
- package/src/wnako3webworker.mjs +70 -70
- package/test/ace_editor/karma.config.js +94 -94
- package/test/ace_editor/test/.babelrc.json +3 -3
- package/test/ace_editor/test/ace_editor_test.js +178 -178
- package/test/ace_editor/test/html/custom_context.html +139 -139
- package/test/async/async_basic_test.mjs +123 -123
- package/test/browser/karma.config.js +221 -221
- package/test/browser/test/.babelrc.json +3 -3
- package/test/browser/test/compare_util.js +50 -50
- package/test/browser/test/html/div_basic.html +2 -2
- package/test/browser/test/html/event_dom_form.html +4 -4
- package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
- package/test/browser/test/import_plugin_checker.js +24 -24
- package/test/browser/test/plugin_browser_test.js +52 -52
- package/test/browser/test/plugin_browser_test_ajax.js +123 -123
- package/test/browser/test/plugin_browser_test_color.js +18 -18
- package/test/browser/test/plugin_browser_test_dialog.js +72 -72
- package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
- package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
- package/test/browser/test/plugin_browser_test_system.js +9 -9
- package/test/browser/test/plugin_turtle_test.js +817 -817
- package/test/browser/test/plugin_webworker_test.js +87 -87
- package/test/browser/test/require_test.js +71 -71
- package/test/bundled/karma.config.base.js +117 -117
- package/test/bundled/karma.config.js +86 -86
- package/test/bundled/test/.babelrc.json +3 -3
- package/test/bundled/test/bundled_test.js +69 -69
- package/test/bundled/test/html/custom_context.html +65 -65
- package/test/bundled/test/html/custom_debug.html +66 -66
- package/test/bundled/test4b.cmd +52 -52
- package/test/bundled/test_base/.babelrc.json +3 -3
- package/test/bundled/test_base/_checktool_test.js +25 -25
- package/test/bundled/test_base/basic_ajax_test.js +56 -56
- package/test/bundled/test_base/basic_async_test.js +18 -18
- package/test/bundled/test_base/basic_test.js +153 -153
- package/test/bundled/test_base/calc_test.js +132 -132
- package/test/bundled/test_base/css/browsers_box.css +114 -114
- package/test/bundled/test_base/html/custom_context.html +69 -69
- package/test/bundled/test_base/html/custom_debug.html +71 -71
- package/test/bundled/test_base/js/browsers_box.js +72 -72
- package/test/bundled/test_base/plugin_csv_test.js +37 -37
- package/test/bundled/test_base/plugin_datetime_test.js +115 -115
- package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
- package/test/bundled/test_base/plugin_system_test.js +410 -410
- package/test/bundled/test_base/plugin_webworker_test.js +53 -53
- package/test/bundled/test_base/test_utils.js +191 -191
- package/test/common/array_test.mjs +40 -40
- package/test/common/basic_test.mjs +331 -331
- package/test/common/calc_test.mjs +144 -144
- package/test/common/debug_test.mjs +16 -16
- package/test/common/dncl_test.mjs +95 -95
- package/test/common/error_test.mjs +16 -16
- package/test/common/flow_test.mjs +374 -374
- package/test/common/func_call.mjs +160 -139
- package/test/common/func_test.mjs +149 -149
- package/test/common/indent_test.mjs +363 -363
- package/test/common/lex_test.mjs +155 -155
- package/test/common/literal_test.mjs +72 -72
- package/test/common/nako_lexer_test.mjs +33 -0
- package/test/common/nako_logger_test.mjs +26 -26
- package/test/common/plugin_browser_test.mjs +24 -24
- package/test/common/plugin_browser_ut_audio_test.mjs +88 -88
- package/test/common/plugin_browser_ut_color_test.mjs +21 -21
- package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
- package/test/common/plugin_browser_ut_html_test.mjs +13 -13
- package/test/common/plugin_browser_ut_system_test.mjs +10 -10
- package/test/common/plugin_csv_test.mjs +39 -39
- package/test/common/plugin_datetime_test.mjs +120 -120
- package/test/common/plugin_kansuji_test.mjs +59 -59
- package/test/common/plugin_markup_test.mjs +21 -21
- package/test/common/plugin_promise_test.mjs +18 -18
- package/test/common/plugin_system_test.mjs +606 -606
- package/test/common/prepare_test.mjs +93 -93
- package/test/common/re_test.mjs +20 -20
- package/test/common/variable_scope_test.mjs +121 -121
- package/test/jsconfig.json +19 -19
- package/test/karma.config.js +91 -91
- package/test/node/async_test.mjs +81 -81
- package/test/node/commander_ja_test.mjs +87 -87
- package/test/node/error_message_test.mjs +249 -249
- package/test/node/kai_test.nako3 +6 -6
- package/test/node/node_test.mjs +57 -57
- package/test/node/plugin_broken.js.txt +3 -3
- package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
- package/test/node/plugin_browser_ut_location_test.mjs +32 -32
- package/test/node/plugin_markup_test.mjs +43 -43
- package/test/node/plugin_math_test.mjs +42 -42
- package/test/node/plugin_node_test.mjs +97 -97
- package/test/node/plugin_test.mjs +42 -42
- package/test/node/relative_import_test_1.nako3 +1 -1
- package/test/node/relative_import_test_2.nako3 +2 -2
- package/test/node/require_nako3_test.mjs +66 -66
- package/test/node/requiretest.nako3 +4 -4
- package/test/node/requiretest_indirect.nako3 +1 -1
- package/test/node/requiretest_name.nako3 +5 -5
- package/test/node/runtime_error.nako3 +2 -2
- package/test/node/scope1.nako3 +10 -10
- package/test/node/scope2.nako3 +12 -12
- package/test/node/side_effects_test.mjs +117 -117
- package/test/node/sjis.txt +5 -5
- package/test/node/syntax_error.nako3 +1 -1
- package/test/node/wnako3_editor_test.mjs +378 -378
- package/tools/README.md +7 -7
- package/tools/nako3edit/html/daisyui/LICENSE +22 -22
- package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
- package/tools/nako3edit/html/edit.html +168 -168
- package/tools/nako3edit/html/edit_plugin.js +6 -6
- package/tools/nako3edit/html/files.html +125 -125
- package/tools/nako3edit/html/nako3edit.css +65 -65
- package/tools/nako3edit/index.nako3 +187 -187
- package/tools/nako3edit/run.mjs +18 -18
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,121 @@
|
|
|
1
|
-
# 日本語プログラミング言語「なでしこ3」
|
|
2
|
-
|
|
3
|
-
[](LICENSE)
|
|
4
|
-
[](https://www.npmjs.com/package/nadesiko3)
|
|
5
|
-

|
|
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
|
-
##
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
1
|
+
# 日本語プログラミング言語「なでしこ3」
|
|
2
|
+
|
|
3
|
+
[](LICENSE)
|
|
4
|
+
[](https://www.npmjs.com/package/nadesiko3)
|
|
5
|
+

|
|
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
|
+
## なでしこの開発履歴
|
|
107
|
+
|
|
108
|
+
「なでしこ3」の開発は2017年に始まり、以後コツコツとバージョンアップを続けています。「誰でも簡単プログラマー」の目標を実現するために、これからも頑張ります。
|
|
109
|
+
|
|
110
|
+
- 2022-04-20 v3.3.2を公開(モジュール構造をCommonJS→ESModuleへ変更/asyncFnの実装)
|
|
111
|
+
- 2021-04-09 v3.2.1を公開
|
|
112
|
+
- 2020-04-24 v3.1.2を公開
|
|
113
|
+
- 2017-12-29 v3.0.19を公開(無名関数の「には」構文の実装など)
|
|
114
|
+
- 2017-06-25 内部構造を大幅に修正(PEGパーサーから独自のパーサーに変更)
|
|
115
|
+
- 2017-02-13 なでしこ3のプロジェクトが開始
|
|
116
|
+
- 2004-08-01 ひまわり2としてゼロからなでしこv1の開発が開始
|
|
117
|
+
|
|
118
|
+
## なでしこ3の開発に参加する
|
|
119
|
+
|
|
120
|
+
なでしこ3自身を開発するために、開発環境を整えようという方は、 [doc/SETUP.md](doc/SETUP.md) をご覧ください。
|
|
121
|
+
また、なでしこ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」へ保存。
|
package/batch/calc_hash.nako3
CHANGED
|
@@ -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
|
+
|