Web Analytics Made Easy -
StatCounter

メモ・備忘録(設定ファイル・スクリプト類・ブックマーク)

数年後の自分が首を捻らなくて済むようにするために残す、自分で使うためのアプリの設定やスクリプト類のメモ。改変等ご自由に / 内容が古いまま、間違ったままもあるので注意 / 書いている途中や、途中で放置もあり / 対象の仕様変更で動かなくなったもの多々。特に、WorkFlowyを対象として作ったものは全滅。

WorkFlowyモバイルアプリから文字修飾とインデントを保ちEvernoteやScrapboxへ送るiOS/iPadOS用ショートカット

ショートカット・アプリでも、処理速度を無視さえすれば、この位の込み入った処理は可能。元々オートメーションの流れ制御ためのもので、ゴリゴリとデータを処理させるためのものではない。

ギットンバットンとループ処理を繰り返し動いてくれる。しかし、不具合無く動作してくれる期間は短いだろう。 (WorkFlowyやショートカットの仕様変更があるから)

WorkFlowyモバイルアプリが吐き出すFormatted形式のデータを読み込んで処理しているが、

  • TaskPaper的書式のPlain text
  • 仕様の決まっているOPML

といった、ある程度固まった形式のデータを本来は使うべき。

しかしWorkFlowyのモバイルアプリは、Formatted形式のデータしか吐き出さない。(「デスクトップ版がメインで、モバイルアプリそのサブセット。」っといった風潮が早く無くならないかな。)

モバイルアプリのFormatted content出力に含まれる文字修飾情報は、

  • ボールド(太字)
  • イタリック(≒斜体)
  • アンダーライン(下線)

のみ。完了ノードに引かれる取り消し線(strikeout)の情報は含まれない
そもそも他の文字修飾が文字列単位である一方、こちらはノード丸ごとグレーアウト&取り消し線の修飾がかっている。前者は文字列に対する属性であり 後者はノードに対する属性である違いがある。


脳トレには丁度良かった。


WFy2EN_BIU
 https://www.icloud.com/shortcuts/7c2e2eaf4c3f4051a9584254ab7092e2

WFy2SB_BIU
 https://www.icloud.com/shortcuts/740c42ed7ed347b3b7d15ae2cc9849b8


f:id:sorashima:20200731231517j:plain:w637
まず、WorkFlowyのモバイルアプリのShare機能だけだと、Evernoteにどのように送られるかを確かめてみる。


f:id:sorashima:20200731232822j:plain:w637
左スワイプして「Share」。


f:id:sorashima:20200731232914j:plain:w637
「Share content」でシェアシートを開く。


f:id:sorashima:20200731232950j:plain:w637
Evernote」に直接送る。


f:id:sorashima:20200731233012j:plain:w637
文字修飾もインデントも全て削られていた。


f:id:sorashima:20200731233025j:plain:w637
一度クリップボードにコピーして、それを貼り付けてみる。


f:id:sorashima:20200731233042j:plain:w637
1行おきの間延びは解消されたが、それだけ。


そこで、Share contentからFormatted contentを受け取り、それをHTMLに変換して処理するショートカットを作ってみた。
f:id:sorashima:20200731233124j:plain:w637
WFy2EN_BIUがEvernoteに送るショートカット。WFy2SB_BIUがScrapboxに送るショートカット。


最初にWFy2EN_BIUでEvernoteに送ってみる。
f:id:sorashima:20200731233155j:plain:w637
タイトルのすぐ下の階層、この例だと
「使える文字修飾は、」
「がある。」
と書かれた部分の階層もインデントして頭に「・」を付けるかを選ぶ。


f:id:sorashima:20200731233246j:plain:w637
送信先Evernoteのノートブックを選ぶ。「選択」をタップ。


f:id:sorashima:20200731233307j:plain:w637
表示されたノートブック一覧から選ぶ。(この例では「InBox」を選んだ。)


f:id:sorashima:20200731233330j:plain:w637
「完了」をタップするとEvernoteに送信される。


f:id:sorashima:20200801182814j:plain:w637
最上位階層をインデントしなかった場合。


f:id:sorashima:20200801182903j:plain:w637
最上位階層もインデントした場合。


次に、WFy2SB_BIUでScrapboxに送ってみる
f:id:sorashima:20200731233515j:plain:w637
どのプロジェクトに、どのWebブラウザアプリで送るかを選ぶ。


f:id:sorashima:20200801193345j:plain:w637
最上位階層をインデントしなかった場合。


f:id:sorashima:20200731233602j:plain:w637
最上位階層もインデントした場合。


デスクトップWebサイト版のPlain text形式出力の内容

WorkFlowyの文字修飾とインデントを保ちScrapboxやEvernoteへ

- 使える文字修飾は、
  - ノーマルの文字
  - ボールドの文字
  - イタリックの文字
  - アンダーラインの文字
  - [COMPLETE] ストライクアウト
- がある。
- 
- 組み合わせもできる。
  - ボールドイタリック
    - ボールドアンダーライン
      - イタリックアンダーライン
        - ボールドイタリックアンダーライン


デスクトップWebサイト版のOPML形式出力の内容

<?xml version="1.0"?>
<opml version="2.0">
  <head>
    <ownerEmail>
      ○○○@○○○.○○○
    </ownerEmail>
  </head>
  <body>
    <outline text="WorkFlowyの文字修飾とインデントを保ちScrapboxやEvernoteへ">
      <outline text="使える文字修飾は、">
        <outline text="ノーマルの文字" />
        <outline text="&lt;b&gt;ボールドの文字&lt;/b&gt;" />
        <outline text="&lt;i&gt;イタリックの文字&lt;/i&gt;" />
        <outline text="&lt;u&gt;アンダーラインの文字&lt;/u&gt;" />
        <outline _complete="true" text="ストライクアウト" />
      </outline>
      <outline text="がある。" />
      <outline text="" />
      <outline text="組み合わせもできる。">
        <outline text="&lt;b&gt;&lt;i&gt;ボールドイタリック&lt;/i&gt;&lt;/b&gt;">
          <outline text="&lt;b&gt;&lt;u&gt;ボールドアンダーライン&lt;/u&gt;&lt;/b&gt;">
            <outline text="&lt;i&gt;&lt;u&gt;イタリックアンダーライン&lt;/u&gt;&lt;/i&gt;">
              <outline text="&lt;b&gt;&lt;i&gt;&lt;u&gt;ボールドイタリックアンダーライン&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;" />
            </outline>
          </outline>
        </outline>
      </outline>
    </outline>
  </body>
</opml>


モバイルアプリのFormatted content形式出力を、ショートカット・アプリの「リッチテキストからHTMLを作成」アクションを通した結果

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Times New Roman'; color: #000000; -webkit-text-stroke: #000000}
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Times New Roman'; color: #000000; -webkit-text-stroke: #000000}
span.s1 {font-family: 'Times New Roman'; font-weight: normal; font-style: normal; font-size: 12.00px; font-kerning: none}
span.s2 {font-family: 'Times New Roman'; font-weight: normal; font-style: normal; font-size: 12.00px}
span.s3 {font-family: 'TimesNewRomanPS-BoldMT'; font-weight: bold; font-style: normal; font-size: 12.00px}
span.s4 {font-family: 'TimesNewRomanPS-BoldMT'; font-weight: bold; font-style: normal; font-size: 12.00px; font-kerning: none}
span.s5 {font-family: 'TimesNewRomanPS-ItalicMT'; font-weight: normal; font-style: italic; font-size: 12.00px}
span.s6 {font-family: 'TimesNewRomanPS-ItalicMT'; font-weight: normal; font-style: italic; font-size: 12.00px; font-kerning: none}
span.s7 {font-family: 'Times New Roman'; font-weight: normal; font-style: normal; font-size: 12.00px; text-decoration: underline ; font-kerning: none}
span.s8 {font-family: 'TimesNewRomanPS-BoldItalicMT'; font-weight: bold; font-style: italic; font-size: 12.00px}
span.s9 {font-family: 'TimesNewRomanPS-BoldItalicMT'; font-weight: bold; font-style: italic; font-size: 12.00px; font-kerning: none}
span.s10 {font-family: 'TimesNewRomanPS-BoldMT'; font-weight: bold; font-style: normal; font-size: 12.00px; text-decoration: underline ; font-kerning: none}
span.s11 {font-family: 'TimesNewRomanPS-ItalicMT'; font-weight: normal; font-style: italic; font-size: 12.00px; text-decoration: underline ; font-kerning: none}
span.s12 {font-family: 'TimesNewRomanPS-BoldItalicMT'; font-weight: bold; font-style: italic; font-size: 12.00px; text-decoration: underline ; font-kerning: none}
ul.ul1 {list-style-type: disc}
ul.ul2 {list-style-type: circle}
ul.ul3 {list-style-type: square}
</style>
</head>
<body>
<p class="p1"><span class="s1">WorkFlowyの文字修飾とインデントを保ちScrapboxやEvernoteへ</span></p>
<ul class="ul1">
<li class="li1"><span class="s2"></span><span class="s1">使える文字修飾は、</span></li>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s2"></span><span class="s1">ノーマルの文字</span></li>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s3"></span><span class="s4">ボールドの文字</span></li>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s5"></span><span class="s6">イタリックの文字</span></li>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s2"></span><span class="s7">アンダーラインの文字</span></li>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s2"></span><span class="s1">ストライクアウト</span></li>
</ul>
</ul>
<ul class="ul1">
<li class="li1"><span class="s2"></span><span class="s1">がある。</span></li>
</ul>
<ul class="ul1">
<li class="li1"><span class="s2"></span></li>
</ul>
<ul class="ul1">
<li class="li1"><span class="s2"></span><span class="s1">組み合わせもできる。</span></li>
</ul>
<ul class="ul1">
<ul class="ul2">
<li class="li1"><span class="s8"></span><span class="s9">ボールドイタリック</span></li>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<ul class="ul3">
<li class="li1"><span class="s3"></span><span class="s10">ボールドアンダーライン</span></li>
</ul>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<ul class="ul3">
<ul class="ul3">
<li class="li1"><span class="s5"></span><span class="s11">イタリックアンダーライン</span></li>
</ul>
</ul>
</ul>
</ul>
<ul class="ul1">
<ul class="ul2">
<ul class="ul3">
<ul class="ul3">
<ul class="ul3">
<li class="li1"><span class="s8"></span><span class="s12">ボールドイタリックアンダーライン</span></li>
</ul>
</ul>
</ul>
</ul>
</ul>
</body>
</html>