#1 実行時の日本語の文中改行を除去したい

Open
opened 1 year ago by senooken · 2 comments
senooken commented 1 year ago

概要

BlueGriffon v2.4.1でHTML要素ブロック選択後右クリック-[Copy Selected HTML Markup] を選ぶと、日本語が変なところで改行される。

改行があると、Firefox以外だとそこにスペースが入ってしまい、文章中に不自然なスペースが入る。

ツール実行時に自動的に余計な改行・スペースを除去するようにしたい。

これのせいで、長文を書く際に、[Source] タブで全文を手動でコピーペーストしないといけなくて、面倒くさい。親のsection要素を選択してコピーして、そのまま目次を作成できるようにしたい。

avatar
ぐぬ管 (GNU social JP管理人)|gnusocialjp@gnusocial.jp
!it [この記事](https://web.gnusocial.jp/post/2023/07/23/7600/)とか。 Chromeとfirefoxで表示が異なります。Chromeだと変なところに変なスペースが入ります。 Firefoxだと変なスペースが入りません。 スペースがはいるのはWordPressの生HTMLエディターで改行になっているところです。 改行前後の行頭・行末のスペースは無視するはずなのに、なぜか無視されていません。面倒くさいです… https://developer.mozilla.org/ja/docs/Web/API/Document_Object_Model/Whitespace

メモ

a/em/strong/p/li/td要素で、改行の前後が英数記号以外の場合、日本語が途中で改行されているとみなして、改行を除去するようなイメージ。

要素の部分は、ブラックリスト方式かホワイトリスト方式がいいのか。pre要素など、たまに本当に日本語を自分で改行していることがある。pre要素くらいか。pre要素以外で改行がある場合に改行を除去できるといいだろう。

DOMの操作でtextContent部分を処理するイメージ。ついでに、textContentの、終了タグの直前の末尾の無意味な改行も除去したい。

仕様

サンプルHTMLは以下 (公式: ActivityPub対応予定を正式表明したテキスト共有の新方式Threads | GNU social JP)。以下のHTMLをInput HTMLに貼り付けて、Go+Copyを実行したときに、Output HTMLで、最初のp要素の「重要な内容に感じたので記 録目的で紹介します。」の「記」と「録」の間のスペース・改行が消えていることが具体的なやりたいこと。

作業しにくかったら、JavaScriptをmain.jsなどに分離してもOK。あまり時間をかけずにお願いしたい。 作業工数1日くらいで、1万円 (Gold会員3月分くらい) の報酬想定。

<section xmlns="http://www.w3.org/1999/xhtml">
  
<p>https://web.gnusocial.jp/post/2023/07/23/</p>
  
<h4 id="20230722T1533_公式:-ActivityPub対応予定を正式表明したテキスト共有の新方式Threads"><a id="mozTocId850588"

class="mozTocH4"></a>公式: ActivityPub対応予定を正式表明したテキスト共有の新方式Threads</h4>
<section>
    
<h5 id="20230722T1533_概要"><a id="mozTocId755877" class="mozTocH5"></a>概要</h5>
    
<p>「<a href="https://web.gnusocial.jp/post/2023/07/09/7459/">報道:
        Metaの新SNS Threadsの公開 | GNU social JP</a>」で記した通り、2023-07-05
      WedにMetaの新SNS
      Threadsが公開されました。公開日にMetaから公式の声明がありました。紹介すべき報道が多くて遅れてしまいましたが、重要な内容に感じたので記
      録目的で紹介します。</p>
    
<p>「<a href="https://about.fb.com/news/2023/07/introducing-threads-new-app-text-sharing/">Introducing
        Threads: A New Way to Share With Text | Meta</a>」と「<a href="https://about.instagram.com/blog/announcements/threads-instagram-text-feature">Instagram
        Announces New Text App | Instagram Blog</a>」のMetaとInstagramの両方の公
      式ブログとして公開されていました。内容は同一です。日本語版は「<a href="https://about.fb.com/ja/news/2023/07/threads_launch/">テ
        キストでつながる新しいアプリ、「Threads(スレッズ)」をローンチ | Metaについて</a>」です。</p>
    
<p>「<a href="https://k-tai.watch.impress.co.jp/docs/news/1514289.html">「Threads
        はメタ初の分散型SNS対応アプリになる」、公式が説明するビジョンや最大500文字などの仕様とは - ケータイ Watch</a>」
      でも紹介されていました。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_Introducing-Threads:-A-New-Way-to-Share-With-Text-"><a

id="mozTocId907966" class="mozTocH5"></a>Introducing Threads: A New Way to Share With Text </h5>
    
<p>2023-07-05にInstagramチームが開発したテキスト共有アプリThreads (スレッズ)
      の初期バージョンを発表しました。</p>
    
<ul><li>Instagramチームが開発した新アプリで、テキストで近況を共有したり、他のユーザーと会話可能。</li><li>Instagramアカウントでログインし、最大500文字が投稿可能。リンク、写真、最大5分の動画も投稿可能。</li><li>今後オープンプロトコルと互換性を持つ予定 (おそらくActivityPub)。</li></ul>
    
<p>Instagramは世界中の何十億ものユーザーが写真や動画を通じてつながるプラットフォームです。Instagramの強みを生かしな
      がら、テキストでの共有を取り入れたのがThreadsです。ThreadsでもInstagramと同様にユーザーをフォローできます。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_Join-the-Conversation-from-Instagram"><a id="mozTocId824240"

class="mozTocH5"></a>Join the Conversation from Instagram</h5>
    
<p>ThreadsはInstagramのアカウントを使ってログインします。ユーザー名と認証が引き継がれます。プロフィールを
      Threads専用に編集することは可能です。</p>
    
<p>16歳未満 (一部の国では18歳未満) のユーザーはThreadsに参加すると、デフォルトで非公開アカウントになります。</p>
    
<p>Instagramのフォロイーをフォローするほか、他のユーザーを新しくフォローも可能です。スクリーンリーダーや、画像説明など
      Instagramのアクセシビリティーの主な機能はThreadsでも利用可能です。</p>
    
<p>Threadsのフィードには、ユーザーがフォローしている人々の投稿や、未発見のクリエイターのおすすめコンテンツが表示されます。投稿
      は500文字までで、リンク、写真、最長5分の動画も投稿可能です。Threadsの投稿は、Instagramストーリーズに簡単にシェア
      したり、他のプラットフォームにリンクとして投稿も可能です。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_Tune-Out-the-Noise-----"><a id="mozTocId969950" class="mozTocH5"></a>Tune Out the Noise
    </h5>
    
<p>Threadsはポジティブで生産的な会話が可能なツールとして開発しました。自分のへメンション、返信可能なユーザーを管理可能です。
      Instagram同様に非表示ワード設定で、特定単語を含む投稿・返信を非表示にできます。</p>
    
<p>Metaの他の製品と同様にユーザーの安全に真摯に取り組んでおり、アプリ内コンテンツと対話にはInstagramのコミュニティーガイ
      ドラインを適用します。2016年以来、ユーザー保護のために必要なチームと技術の構築に160億ドル以上投資しており、業界トップの取り組
      み推進と、コミュニティー保護の投資を継続します。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_Compatible-with-Interoperable-Networks-----"><a id="mozTocId753091"

class="mozTocH5"></a>Compatible with Interoperable Networks
    </h5>
    
<p>近日中にW3Cで構築されたオープン・ソーシャル・ネットワーキング・プロトコルのActivityPubに対応予定です。これにより、
      MastodonやWordPressなど、ActivityPub対応アプリと相互運用が可能になり、新しいタイプのつながりがうまれるよ
      うになります。Tumblrを含む他のプラットフォームも、将来的なActivityPub対応計画を発表しています。</p>
    
<p>また、Threads上の視聴者をユーザーがより自由に管理可能に取り組んでいきます。ActivityPubと連携することで、
      Threadsの利用停止後、自分のコンテンツを他のサービスへの移行オプションを提供予定です。今後、互換アプリのユーザーであれば、
      Threadsのアカウントがなくても、Threads上でフォローしたり交流を可能にすることで、相互接続されたネットワークの新時代を先
      導すると考えています。Threadsユーザーは、他のアプリからも自分の投稿を閲覧可能になるため、手間をかけずに追加の視聴者にリーチ可
      能です。</p>
    
<p>オープン・プロトコルの利点は、相互フォローだけではありません。開発者が簡単に機能やユーザー体験を構築できます。各アプリは独自のコ
      ミュニティー基準やコンテンツモデレーションポリシーを設定でき、ユーザーは自分の価値観に合ったプラットフォームを自由に選択可能です。電
      子メールやWebそのものを管理するプロトコルに似た分散型アプローチが、オンラインプラットフォームの将来で重要だと信じています。</p>
    
<p>Threadsはオープン・プロトコルとの互換性を想定して、Metaの初のアプリです。Threadsがコミュニティー発見の一助となる
      ことを願っています。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_What’s-Next-----"><a id="mozTocId674504" class="mozTocH5"></a>What’s Next
    </h5>
    
<p>Threadsは本日より、iOSとAndroid向けに100か国以上で提供し、App StoreとGoogle
      Playストアからアプリをダウンロード可能です。</p>
    
<p>今後も、ThreadsがActivityPubプロトコルと互換性を持つための取り組みに加えて、フィードの表示コンテンツの改善、ト
      ピック・トレンドのリアルタイムフォロー可能な検索機能など、ユーザーが自分の興味関心に近い投稿やクリエイターを発見しやすrくなる新機能
      を導入予定です。</p>
  </section>
  <section>
    
<h5 id="20230722T1533_結論"><a id="mozTocId157289" class="mozTocH5"></a>結論</h5>
    
<p>MetaのThreads正式公開の声明でした。</p>
    
<p>Metaのこれまでの大規模SNSの運営ノウハウが詰め込まれたもので、返信可能ユーザーの管理、非表示ワード設定、コミュニティーガイド
      ラインなど炎上回避の細かい配慮が随所に盛り込まれている感があります。</p>
    
<p>Threadsが<strong>ActivityPub対応予定であることが今回初めて正式に公表</strong>されました。今まで
      は噂レベルでした。プロトコル対応の経緯についてを読む限りだと、他のサービスの移行オプションの提供など、行儀正しく見えます。
      Tumblrが将来的にActivityPub対応の計画を発表しているというのは「<a href="https://web.gnusocial.jp/post/2022/11/23/254/">速
        報: TumblrのActivityPub対応予定 | GNU social JP</a>」で紹介しました。ただ、その後の音沙汰
      はありません。Metaと秘密会議で将来の方針の示し合わせなどがあったのかもしれません。</p>
    
<p>直近の作業としてActivityPub対応の他に、フィードの表示コンテンツ、トピック・トレンドの検索機能などが具体的にあげられてい
      ます。元々7月下旬公開予定だったものをTwitterの閲覧制限騒動で急遽前倒しにした感があり、オプションの機能が不十分のままでの公開
      になったのかもしれません。</p>
    
<p>当分は機能追加やActivityPub対応の準備がありそうなので、引き続き動向に注意します。</p>
  </section></section>
## 概要 BlueGriffon v2.4.1でHTML要素ブロック選択後右クリック-[Copy Selected HTML Markup] を選ぶと、日本語が変なところで改行される。 改行があると、Firefox以外だとそこにスペースが入ってしまい、文章中に不自然なスペースが入る。 ツール実行時に自動的に余計な改行・スペースを除去するようにしたい。 これのせいで、長文を書く際に、[Source] タブで全文を手動でコピーペーストしないといけなくて、面倒くさい。親のsection要素を選択してコピーして、そのまま目次を作成できるようにしたい。 <blockquote xmlns="http://www.w3.org/1999/xhtml" style="background:rgb(29,155,240);background-image:linear-gradient(hsla(0,0%,100%,0.5),hsla(0,0%,100%,0.5))"><article><header style="display:flex;line-height:1.5"><img xmlns="http://www.w3.org/1999/xhtml" referrerpolicy="no-referrer" alt="avatar" src="//gnusocial.jp/avatar/1-48-20220724135646.webp" style="height:4.5em" /><div><div><a href="https://gnusocial.jp/notice/3632895">2023-07-26T15:14:24.000Z</a></div><div>ぐぬ管 (GNU social JP管理人)|<a href="https://gnusocial.jp/gnusocialjp">gnusocialjp@gnusocial.jp</a></div></div></header><main><span style="white-space:pre-wrap;word-wrap:word-break">!it [この記事](https://web.gnusocial.jp/post/2023/07/23/7600/)とか。 Chromeとfirefoxで表示が異なります。Chromeだと変なところに変なスペースが入ります。 Firefoxだと変なスペースが入りません。 スペースがはいるのはWordPressの生HTMLエディターで改行になっているところです。 改行前後の行頭・行末のスペースは無視するはずなのに、なぜか無視されていません。面倒くさいです… https://developer.mozilla.org/ja/docs/Web/API/Document_Object_Model/Whitespace</span></main></article></blockquote> ## メモ a/em/strong/p/li/td要素で、改行の前後が英数記号以外の場合、日本語が途中で改行されているとみなして、改行を除去するようなイメージ。 要素の部分は、ブラックリスト方式かホワイトリスト方式がいいのか。pre要素など、たまに本当に日本語を自分で改行していることがある。pre要素くらいか。pre要素以外で改行がある場合に改行を除去できるといいだろう。 DOMの操作でtextContent部分を処理するイメージ。ついでに、textContentの、終了タグの直前の末尾の無意味な改行も除去したい。 ## 仕様 サンプルHTMLは以下 ([公式: ActivityPub対応予定を正式表明したテキスト共有の新方式Threads | GNU social JP](https://web.gnusocial.jp/post/2023/07/23/7600/))。以下のHTMLをInput HTMLに貼り付けて、Go+Copyを実行したときに、Output HTMLで、最初のp要素の「重要な内容に感じたので記 録目的で紹介します。」の「記」と「録」の間のスペース・改行が消えていることが具体的なやりたいこと。 作業しにくかったら、JavaScriptをmain.jsなどに分離してもOK。あまり時間をかけずにお願いしたい。 作業工数1日くらいで、1万円 (Gold会員3月分くらい) の報酬想定。 ``` <section xmlns="http://www.w3.org/1999/xhtml"> <p>https://web.gnusocial.jp/post/2023/07/23/</p> <h4 id="20230722T1533_公式:-ActivityPub対応予定を正式表明したテキスト共有の新方式Threads"><a id="mozTocId850588" class="mozTocH4"></a>公式: ActivityPub対応予定を正式表明したテキスト共有の新方式Threads</h4> <section> <h5 id="20230722T1533_概要"><a id="mozTocId755877" class="mozTocH5"></a>概要</h5> <p>「<a href="https://web.gnusocial.jp/post/2023/07/09/7459/">報道: Metaの新SNS Threadsの公開 | GNU social JP</a>」で記した通り、2023-07-05 WedにMetaの新SNS Threadsが公開されました。公開日にMetaから公式の声明がありました。紹介すべき報道が多くて遅れてしまいましたが、重要な内容に感じたので記 録目的で紹介します。</p> <p>「<a href="https://about.fb.com/news/2023/07/introducing-threads-new-app-text-sharing/">Introducing Threads: A New Way to Share With Text | Meta</a>」と「<a href="https://about.instagram.com/blog/announcements/threads-instagram-text-feature">Instagram Announces New Text App | Instagram Blog</a>」のMetaとInstagramの両方の公 式ブログとして公開されていました。内容は同一です。日本語版は「<a href="https://about.fb.com/ja/news/2023/07/threads_launch/">テ キストでつながる新しいアプリ、「Threads(スレッズ)」をローンチ | Metaについて</a>」です。</p> <p>「<a href="https://k-tai.watch.impress.co.jp/docs/news/1514289.html">「Threads はメタ初の分散型SNS対応アプリになる」、公式が説明するビジョンや最大500文字などの仕様とは - ケータイ Watch</a>」 でも紹介されていました。</p> </section> <section> <h5 id="20230722T1533_Introducing-Threads:-A-New-Way-to-Share-With-Text-"><a id="mozTocId907966" class="mozTocH5"></a>Introducing Threads: A New Way to Share With Text </h5> <p>2023-07-05にInstagramチームが開発したテキスト共有アプリThreads (スレッズ) の初期バージョンを発表しました。</p> <ul><li>Instagramチームが開発した新アプリで、テキストで近況を共有したり、他のユーザーと会話可能。</li><li>Instagramアカウントでログインし、最大500文字が投稿可能。リンク、写真、最大5分の動画も投稿可能。</li><li>今後オープンプロトコルと互換性を持つ予定 (おそらくActivityPub)。</li></ul> <p>Instagramは世界中の何十億ものユーザーが写真や動画を通じてつながるプラットフォームです。Instagramの強みを生かしな がら、テキストでの共有を取り入れたのがThreadsです。ThreadsでもInstagramと同様にユーザーをフォローできます。</p> </section> <section> <h5 id="20230722T1533_Join-the-Conversation-from-Instagram"><a id="mozTocId824240" class="mozTocH5"></a>Join the Conversation from Instagram</h5> <p>ThreadsはInstagramのアカウントを使ってログインします。ユーザー名と認証が引き継がれます。プロフィールを Threads専用に編集することは可能です。</p> <p>16歳未満 (一部の国では18歳未満) のユーザーはThreadsに参加すると、デフォルトで非公開アカウントになります。</p> <p>Instagramのフォロイーをフォローするほか、他のユーザーを新しくフォローも可能です。スクリーンリーダーや、画像説明など Instagramのアクセシビリティーの主な機能はThreadsでも利用可能です。</p> <p>Threadsのフィードには、ユーザーがフォローしている人々の投稿や、未発見のクリエイターのおすすめコンテンツが表示されます。投稿 は500文字までで、リンク、写真、最長5分の動画も投稿可能です。Threadsの投稿は、Instagramストーリーズに簡単にシェア したり、他のプラットフォームにリンクとして投稿も可能です。</p> </section> <section> <h5 id="20230722T1533_Tune-Out-the-Noise-----"><a id="mozTocId969950" class="mozTocH5"></a>Tune Out the Noise </h5> <p>Threadsはポジティブで生産的な会話が可能なツールとして開発しました。自分のへメンション、返信可能なユーザーを管理可能です。 Instagram同様に非表示ワード設定で、特定単語を含む投稿・返信を非表示にできます。</p> <p>Metaの他の製品と同様にユーザーの安全に真摯に取り組んでおり、アプリ内コンテンツと対話にはInstagramのコミュニティーガイ ドラインを適用します。2016年以来、ユーザー保護のために必要なチームと技術の構築に160億ドル以上投資しており、業界トップの取り組 み推進と、コミュニティー保護の投資を継続します。</p> </section> <section> <h5 id="20230722T1533_Compatible-with-Interoperable-Networks-----"><a id="mozTocId753091" class="mozTocH5"></a>Compatible with Interoperable Networks </h5> <p>近日中にW3Cで構築されたオープン・ソーシャル・ネットワーキング・プロトコルのActivityPubに対応予定です。これにより、 MastodonやWordPressなど、ActivityPub対応アプリと相互運用が可能になり、新しいタイプのつながりがうまれるよ うになります。Tumblrを含む他のプラットフォームも、将来的なActivityPub対応計画を発表しています。</p> <p>また、Threads上の視聴者をユーザーがより自由に管理可能に取り組んでいきます。ActivityPubと連携することで、 Threadsの利用停止後、自分のコンテンツを他のサービスへの移行オプションを提供予定です。今後、互換アプリのユーザーであれば、 Threadsのアカウントがなくても、Threads上でフォローしたり交流を可能にすることで、相互接続されたネットワークの新時代を先 導すると考えています。Threadsユーザーは、他のアプリからも自分の投稿を閲覧可能になるため、手間をかけずに追加の視聴者にリーチ可 能です。</p> <p>オープン・プロトコルの利点は、相互フォローだけではありません。開発者が簡単に機能やユーザー体験を構築できます。各アプリは独自のコ ミュニティー基準やコンテンツモデレーションポリシーを設定でき、ユーザーは自分の価値観に合ったプラットフォームを自由に選択可能です。電 子メールやWebそのものを管理するプロトコルに似た分散型アプローチが、オンラインプラットフォームの将来で重要だと信じています。</p> <p>Threadsはオープン・プロトコルとの互換性を想定して、Metaの初のアプリです。Threadsがコミュニティー発見の一助となる ことを願っています。</p> </section> <section> <h5 id="20230722T1533_What’s-Next-----"><a id="mozTocId674504" class="mozTocH5"></a>What’s Next </h5> <p>Threadsは本日より、iOSとAndroid向けに100か国以上で提供し、App StoreとGoogle Playストアからアプリをダウンロード可能です。</p> <p>今後も、ThreadsがActivityPubプロトコルと互換性を持つための取り組みに加えて、フィードの表示コンテンツの改善、ト ピック・トレンドのリアルタイムフォロー可能な検索機能など、ユーザーが自分の興味関心に近い投稿やクリエイターを発見しやすrくなる新機能 を導入予定です。</p> </section> <section> <h5 id="20230722T1533_結論"><a id="mozTocId157289" class="mozTocH5"></a>結論</h5> <p>MetaのThreads正式公開の声明でした。</p> <p>Metaのこれまでの大規模SNSの運営ノウハウが詰め込まれたもので、返信可能ユーザーの管理、非表示ワード設定、コミュニティーガイド ラインなど炎上回避の細かい配慮が随所に盛り込まれている感があります。</p> <p>Threadsが<strong>ActivityPub対応予定であることが今回初めて正式に公表</strong>されました。今まで は噂レベルでした。プロトコル対応の経緯についてを読む限りだと、他のサービスの移行オプションの提供など、行儀正しく見えます。 Tumblrが将来的にActivityPub対応の計画を発表しているというのは「<a href="https://web.gnusocial.jp/post/2022/11/23/254/">速 報: TumblrのActivityPub対応予定 | GNU social JP</a>」で紹介しました。ただ、その後の音沙汰 はありません。Metaと秘密会議で将来の方針の示し合わせなどがあったのかもしれません。</p> <p>直近の作業としてActivityPub対応の他に、フィードの表示コンテンツ、トピック・トレンドの検索機能などが具体的にあげられてい ます。元々7月下旬公開予定だったものをTwitterの閲覧制限騒動で急遽前倒しにした感があり、オプションの機能が不十分のままでの公開 になったのかもしれません。</p> <p>当分は機能追加やActivityPub対応の準備がありそうなので、引き続き動向に注意します。</p> </section></section> ```
senooken commented 1 year ago
Owner

@tak4 以前相談していた改行スペース削除の作業です。よければ時間あるときにお願いしたいです。

@tak4 以前相談していた改行スペース削除の作業です。よければ時間あるときにお願いしたいです。
tak4 commented 1 year ago

@senooken 有難うございます。内容を確認しました。時間のある時に着手します。

@senooken 有難うございます。内容を確認しました。時間のある時に着手します。
Sign in to join this conversation.
No Label
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.