Как я могу заменить текстовую строку таксономии / категории, щелкнув с помощью javascript в файле .md?

#javascript #string #replace #markdown #grav

#javascript #строка #заменить #уценка #гравитация

Вопрос:

Удалите / измените таксономию при нажатии кнопки, предполагая, что пользователь GRAV вошел в систему.

Я пытался:

 ---
taxonomy:
    tag:
        - mountain
<code>
<script>
    function removeTg() {
    var ret = "mountain".replace('mountain','');
}
</script>
</code>
---
<button onclick="removeTg()">Remove tag</button>
  

Есть идеи, как заставить скрипты выполняться и изменять содержимое / строки файла .md в разделе, обернутом?

 ---
 as non visible .md taxonomy page content.
---
  

Комментарии:

1. Это не Markdown. Это похоже на некоторую форму интерфейса YAML, которая распространена в нескольких инструментах, но не сама Markdown.

2. Пожалуйста, не добавляйте «теги» к своему названию. У Stack Overflow есть реальные теги, которых вполне достаточно.

3. @Chris Ты прав. Страницы Grav представляют собой комбинацию свойств страницы, написанных на Yaml (между тройными тире), и содержимого страницы, написанного на markdown

Ответ №1:

Если вы хотите запустить скрипт, нажав на кнопку, определенную внутри содержимого Markdown файла страницы Grav (.md), следующий фрагмент будет работать:

 ---
taxonomy:
    tag: mountain
---
<button onclick="removeTg()">Remove tag</button>
<script>
    function removeTg() {
        alert('Script is running')
    }
</script>
  

Конечно, это мало что дает. Если вы хотите изменить содержимое .md файла на сервере, скрипту необходимо будет отправить запрос на сервер. Затем пользовательский плагин Grav перехватит запрос и обновит / сохранит .md файл.

Несколько замечаний:

  • Почему вы хотите это сделать? Для этого и создан плагин администратора…
  • Markdown предназначен для определения содержимого и должен быть отделен от логики.
  • Сценарии (и стили) должны быть в их собственных файлах.
  • Шаблоны Twig затем объединяют содержимое, макет, стиль и логику.

Комментарии:

1. Спасибо за помощь! Я бы сделал это для автоматического удаления продукта, если зарегистрированный клиент / пользователь нажимает на покупку последнего в своем роде продукта.

2. Я полагаю, вы где-то отслеживаете доступные запасы. Я думаю, что я бы не трогал тег, а вместо этого добавил бы некоторую логику в шаблон, показывающий продукты, и скрыл продукт, если его нет на складе.