「ハルナアウトライン用の完了/未完了フラグをノード名に反映する」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
SyntaxHighlightにcopyの追加 |
||
| (2人の利用者による、間の5版が非表示) | |||
| 1行目: | 1行目: | ||
2025年1月11日現在、Google Playでハルナアウトラインがダウンロードできないため、このマクロを使用する意味がなくなりました。 | |||
< | <syntaxhighlight lang="javascript" copy> | ||
#title = "ハルナから状態反映" | #title = "ハルナから状態反映" | ||
/*********************************************************************************************************** | /*********************************************************************************************************** | ||
| 20行目: | 20行目: | ||
** フラグ=1 完了とする。ノード名を"☑"+ノード名へ更新する。 | ** フラグ=1 完了とする。ノード名を"☑"+ノード名へ更新する。 | ||
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,1,\d?,\d?)/ | ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,1,\d?,\d?)/ | ||
** 【置換先】 $ | ** 【置換先】 $01☑$02 | ||
** | ** | ||
** フラグ=0 未了とする。ノード名を"□"+ノード名へ更新する。 | ** フラグ=0 未了とする。ノード名を"□"+ノード名へ更新する。 | ||
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,0,\d?,\d?)/ | ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,0,\d?,\d?)/ | ||
** 【置換先】 $ | ** 【置換先】 $01□$02 | ||
** | ** | ||
** フラグがない *判断不能とする。 | ** フラグがない *判断不能とする。 | ||
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+)$/ | ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+)$/ | ||
** 【置換先】 $ | ** 【置換先】 $01*$02 | ||
** | ** | ||
** □☑*いずれかを持つノードの末尾のフラグが…… | ** □☑*いずれかを持つノードの末尾のフラグが…… | ||
** フラグ=1 完了とする。ノード名の先頭1文字を"☑"へ更新する。 | ** フラグ=1 完了とする。ノード名の先頭1文字を"☑"へ更新する。 | ||
** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,1,\d?,\d?)/ | ** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,1,\d?,\d?)/ | ||
** 【置換先】 $ | ** 【置換先】 $01☑$03 | ||
** | ** | ||
** フラグ=0 未了とする。ノード名の先頭1文字を"□"へ更新する。 | ** フラグ=0 未了とする。ノード名の先頭1文字を"□"へ更新する。 | ||
** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,0,\d?,\d?)/ | ** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,0,\d?,\d?)/ | ||
** 【置換先】 $ | ** 【置換先】 $01□$03 | ||
** | ** | ||
** フラグがない *判断不能とする。 | ** フラグがない *判断不能とする。 | ||
** 【置換元】 /^(\.+)(□|☑|*)(\S+)$/ | ** 【置換元】 /^(\.+)(□|☑|*)(\S+)$/ | ||
** 【置換先】 $ | ** 【置換先】 $01*$03 | ||
** | ** | ||
************************************************************************************************************ | ************************************************************************************************************ | ||
| 47行目: | 47行目: | ||
redraw=false; | redraw=false; | ||
var sel = document.selection; | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$02", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$02", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+)$", "$01*$02", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$03", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$03", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
sel.StartOfDocument(false); | |||
sel.Replace("^(\\.+)(□|☑|*)(\\S+)$", "$01*$03", meFindNext | meFindReplaceRegExp | meReplaceAll); | |||
redraw=true; | redraw=true; | ||
</ | </syntaxhighlight> | ||
2025年6月30日 (月) 01:04時点における最新版
2025年1月11日現在、Google Playでハルナアウトラインがダウンロードできないため、このマクロを使用する意味がなくなりました。
#title = "ハルナから状態反映"
/***********************************************************************************************************
************************************************************************************************************
**
** 当マクロはhalna氏作成のAndroidアプリ「ハルナアウトライン」
** https://play.google.com/store/apps/details?id=jp.blogspot.halnablue.HalnaOutliner
** とMeryを併用する前提で、Mery側に欲しい機能を私が勝手にマクロで実装したものです。
** 当マクロはhalna氏作成のAndroidアプリ「ハルナアウトライン」と直接の関係はありません。
** 当マクロについてhalna氏への問い合わせはおやめください。
**
** ハルナアトラインで更新・作成したファイルの完了(チェックフラグ)をノード名先頭へ反映する。
** ハルナアウトラインでは、.+ノード名+[タブ]+0,0,0,0,0で特殊フラグ管理している。
** フラグのないノードについては判断不能として能動的に完了か未了にする(完了未了切替マクロ)まで*表示にする。
** チェックフラグは(0?,)の3番目。
**
** □☑*いずれも持たないノードの末尾のフラグが……
** フラグ=1 完了とする。ノード名を"☑"+ノード名へ更新する。
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,1,\d?,\d?)/
** 【置換先】 $01☑$02
**
** フラグ=0 未了とする。ノード名を"□"+ノード名へ更新する。
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,0,\d?,\d?)/
** 【置換先】 $01□$02
**
** フラグがない *判断不能とする。
** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+)$/
** 【置換先】 $01*$02
**
** □☑*いずれかを持つノードの末尾のフラグが……
** フラグ=1 完了とする。ノード名の先頭1文字を"☑"へ更新する。
** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,1,\d?,\d?)/
** 【置換先】 $01☑$03
**
** フラグ=0 未了とする。ノード名の先頭1文字を"□"へ更新する。
** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,0,\d?,\d?)/
** 【置換先】 $01□$03
**
** フラグがない *判断不能とする。
** 【置換元】 /^(\.+)(□|☑|*)(\S+)$/
** 【置換先】 $01*$03
**
************************************************************************************************************
***********************************************************************************************************/
redraw=false;
var sel = document.selection;
sel.StartOfDocument(false);
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$02", meFindNext | meFindReplaceRegExp | meReplaceAll);
sel.StartOfDocument(false);
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$02", meFindNext | meFindReplaceRegExp | meReplaceAll);
sel.StartOfDocument(false);
sel.Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+)$", "$01*$02", meFindNext | meFindReplaceRegExp | meReplaceAll);
sel.StartOfDocument(false);
sel.Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$03", meFindNext | meFindReplaceRegExp | meReplaceAll);
sel.StartOfDocument(false);
sel.Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$03", meFindNext | meFindReplaceRegExp | meReplaceAll);
sel.StartOfDocument(false);
sel.Replace("^(\\.+)(□|☑|*)(\\S+)$", "$01*$03", meFindNext | meFindReplaceRegExp | meReplaceAll);
redraw=true;
スポンサーリンク