# ユーザー選択の「生」を取得する（Markdownなし）

**URL:** <https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715>\
**Category:** Development\
**Created:** [2025 年 9 月 5 日午後 1:37 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715 "2025-09-05T13:37:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [2025 年 9 月 5 日午後 1:37 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/1 "2025-09-05T13:37:31Z")

</div>

ユーザーが引用する際にハイライトするMarkdownテキストを取得するのが`quoteState.buffer`であり、それは`this.args.data.quoteState.buffer`からアクセスできる`quote-share-buttons-before`プラグインのアウトレットに渡されるものの一つであることを理解しています。Markdownに変換される前の、ユーザーがハイライトしている生の解析されていないテキストを取得するにはどうすればよいですか？投稿を「デマークダウン」することは可能ですか？そもそも可能なのでしょうか？

ファイル：

> <https://github.com/NateDhaliwal/discourse-format-text-in-codeblocks/blob/main/javascripts/discourse/components/add-codeblock-button.gjs#L23-L25>

よろしくお願いします。

テスト：

- この箇条書きは星ではなく、プラス記号です。

---

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [2025 年 9 月 6 日午前 6:25 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/2 "2025-09-06T06:25:04Z")

</div>

考えられる回避策は、生の投稿をMarkdownに変換し（方法は不明ですが）、変換されたテキストでの選択範囲の開始インデックスと終了インデックスを確認してから、それを使用して元のテキストからセクションを抽出することです。問題は、文字が1対1で置き換えられると仮定する必要があることです。つまり、Markdownは文字を1対1で置き換えます。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2025 年 9 月 6 日午前 6:32 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/3 "2025-09-06T06:32:16Z")

</div>

編集とコピー引用符の処理速度を確認しましたか？そこで選択したテキストはどうなりますか？

---

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [2025 年 9 月 6 日午前 6:36 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/4 "2025-09-06T06:36:24Z")

</div>

> [@NateDhaliwal](#):
>
> テスト：
> 
> - この箇条書きは星ではなくプラス記号です

この場合、引用をコピーすると、実際に使用した `+` ではなく、引用内の箇条書きが `*` に変換されます。アスタリスクの代わりにプラス記号を取得する方法を探しています。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2025 年 9 月 19 日午前 4:12 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/5 "2025-09-19T04:12:16Z")

</div>

> [@NateDhaliwal](#):
>
> この場合、引用をコピーすると、箇条書きが引用内で実際には `+` を使用したにもかかわらず `*` に変換されます。アスタリスクではなくプラス記号を取得する方法を探しています。

はい、これは非常に難しいです。おそらく難易度レベル20です。

選択から取得する際には、生のHTMLを取得しています。

```plaintext
<ul>
<li>some text</li>
</ul>

```

ここには `*` と `+` に関する情報はありません。

さらに複雑なことに、長いリストからいくつかの項目を選択するだけで、次のようになります。

```plaintext
<li>some text</li>
<li>some other text</li>

```

これには `ul` と `ol` の区別さえありません。

引用のために行っていることは次のとおりです。

HTML → Markdown

これは損失のあるプロセスであり、バグが発生しやすいプロセスでもあります。変換前にHTMLをクリーンアップするための多くの回避策があります。

次のように変更するには：

HTML → 元のMarkdownには、HTMLの行/列 → Markdownの逆マッピングが必要です。これは現在、markdown.itではサポートされていません。

---

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [2025 年 9 月 19 日午前 4:14 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/6 "2025-09-19T04:14:37Z")

</div>

うーん、それはかなり難しいタスクになりますね。まあ、説明ありがとうございました！

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2025 年 10 月 19 日午前 4:15 UTC](https://meta.discourse.org/t/get-the-raw-of-the-user-selection-no-markdown/381715/7 "2025-10-19T04:15:03Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
