/
build_browsers.nako3
72 lines (70 loc) · 3.16 KB
/
build_browsers.nako3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#-------------------------------------------------
# ブラウザ対応表を作成
#-------------------------------------------------
# 入力: src/browsers.txt
# 出力:
# - src/browsers.json (plugin_caniuse.jsで利用)
# - doc/browsers.md
# - demo/browsers.html
#-------------------------------------------------
# 【注意】
# このプログラムを実行する前に以下のコマンドを実行してください。
# $ npx browserslist > src/browsers.txt
# あるいは直接これを実行するのではなく以下のコマンドを実行します。
# $ npm run build:browsers を実行してください。
#-------------------------------------------------
!「../src/plugin_markup.mjs」を取り込む
!「../src/plugin_caniuse.mjs」を取り込む
#-------------------------------------------------
# src/browsers.jsonを作成
基本パス=母艦パスを「../」で相対パス展開。
リストファイル=「{基本パス}/src/browsers.txt」
対応表={}
リストファイルを開く。
改行で区切って反復
トリム。もし、それが空ならば続ける。
変数[ブラウザ,バージョン] = (対象を「 」で区切る)。
もし(対応表にブラウザが辞書キー存在)でなければ
対応表@ブラウザ=[]
#ブラウザを表示。
ここまで。
対応表@ブラウザにバージョンを配列追加。
ここまで。
対応表をJSONエンコードしてJSに代入。
「export default {JS}」を「{基本パス}/src/browsers.mjs」へ保存。
#-------------------------------------------------
# doc/browsers.mjsを作成
MD="# なでしこ3 対応ブラウザ一覧"&改行&改行
MD=MD&"日本語プログラミング言語「なでしこ3」は次のブラウザに対応しています。"&改行&改行
ブラウザ名変換表@"node"="Node.js"
TYPES={
"デスクトップ":["ie","edge","firefox","chrome","safari","opera","node"],
"モバイル":["ios_saf","op_mini","android","bb","op_mob","and_chr","and_ff","ie_mob","and_uc","samsung","and_qq","baidu","kaios"]
}
TYPESを反復
タイプ=対象キー。
ブラウザ一覧=対象。
MD=MD&"## {タイプ}"&改行&改行。
ブラウザ一覧を反復
ブラウザ=対象。
ブラウザ名=ブラウザ名変換表@ブラウザ。
対応バージョン=対応表@ブラウザ。
もし、対応バージョン=未定義ならば、続ける。
VER=対応バージョンを「/」で配列結合。
MD=MD&"- {ブラウザ名} ({VER}以上)"&改行
ここまで。
MD=MD&改行;
ここまで
MD=トリム(MD)&改行。# 必ず末尾の改行は1つだけに
MDを「{基本パス}/doc/browsers.md」へ保存。
MDを表示。
#-------------------------------------------------
# demo/browsers.html
MDをマークダウンHTML変換してHTML整形してHTMLに代入。
「<html><head>
<title>対応ブラウザ - なでしこ3</title>
</head><body>
{HTML}
</body></html>」を「{基本パス}/demo/browsers.html」に保存
#-------------------------------------------------
「ok」と表示。