1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xaotuman-push-markdown

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Push Markdown

License

Этот код является переработкой Publish Markdown.

Исходный адрес кода: https://github.com/jzj1993/PublishMarkdown.

Адрес обновления программного обеспечения: http://download.szx.life/push-markdown.

Обязательно ознакомьтесь с руководством по использованию перед использованием!

Предыстория

Поскольку исходный код не обновлялся и не поддерживался, структура может быть немного устаревшей, и иногда возникают ошибки, поэтому возникла идея переписать программное обеспечение на основе electron 13, vue 3 и TypeScript.

Так как я сам не являюсь специалистом по разработке для electron или vue, я своего рода начинающий разработчик, я также хочу использовать свой энтузиазм по созданию блога для того, чтобы переработать этот программный продукт. В конце концов, интерес — лучший учитель, а опираясь на работу других людей, можно быстро прогрессировать. Я надеюсь, что смогу действительно завершить переработку этого программного обеспечения, шаг за шагом, без конца совершенствуясь!

Описание программного обеспечения

Push Markdown — это открытый инструмент, который позволяет публиковать локальные файлы Markdown на Wordpress и cnblogs. Он основан на Electron и поддерживает китайский и английский языки. На данный момент существует только установочный пакет Windows, и нет возможности скомпилировать версию для macOS.

  1. Поддерживает основные синтаксические конструкции Markdown, TOC, подсветку кода, MathJax для математических формул. Предоставляет функции предварительного просмотра и простого редактирования (рекомендуется использовать Haroopad, Typora и другие инструменты для написания, а затем использовать это программное обеспечение для публикации).
  2. Полностью автоматизированная публикация в блоге. Блог можно настроить с помощью таких параметров, как заголовок, резюме, фиксированная ссылка, автор, дата публикации, теги и категории. Также автоматически загружаются изображения, на которые есть ссылки в опубликованных файлах Markdown.
  3. Логика загрузки статей и изображений была оптимизирована. Она не только зависит от локального кэша, но и адаптирована к многопользовательским средам и новым установкам программного обеспечения. Подробные сведения о логике можно найти в моём техническом блоге (https://szx.life/push-markdown/push-markdown重构).

![Приветственное окно](images/приветственное окно.png)

Использование

Обратите внимание

  • Обязательно ознакомьтесь с руководством по использованию!
  • Версии 2.X и 1.X несовместимы! Версии 2.0.X и 2.1.X также несовместимы!
  • Известно, что плагин WP Editor.md конфликтует с этим программным обеспечением, его необходимо отключить!
  • CDN настроен на ограничение частоты доступа, и рекомендуется не устанавливать слишком низкий порог доступа. Порог доступа определяет максимальное количество запросов к веб-странице в секунду. Поскольку логика загрузки изображений в статье зависит от обнаружения существующих изображений на веб-страницах, при наличии большого количества изображений в документе существует вероятность превышения установленного порога доступа CDN, что приводит к сбою обнаружения и принудительному обновлению изображений. Это может привести к ненужному расходу трафика и увеличению времени загрузки.
  • Обратите внимание на использование якорей. Рекомендуется следовать стандартам и избегать использования знаков препинания, хотя мы уже адаптировали их. Используйте дефисы для пробелов и строчные буквы для английских слов. Если вы хотите получить эффект табуляции, как в Typora, используйте полные пробелы вместо них.
  • После каждого обновления Wordpress необходимо перезапускать скрипт для замены.

Ошибки

Если возникают проблемы с открытием документа или загрузкой, выполните следующие шаги для поиска решения:

  1. Внимательно прочитайте руководство по использованию!

  2. Убедитесь, что вы используете правильную версию программного обеспечения. Каждая версия может иметь свои особенности, и вы можете переключаться между версиями на gitee или GitHub в левом верхнем углу, чтобы просмотреть руководство по использованию соответствующей версии. Однако рекомендуется всегда использовать последнюю версию, а затем обратиться к последнему руководству по использованию.

  3. Если возникают проблемы с загрузкой изображений, проверьте, успешно ли заменён скрипт. Подробности см. в руководстве по замене скрипта в разделе использования.

  4. Если документ не открывается, убедитесь, что в верхней части файла YAML указаны все необходимые параметры. Можно оставить их пустыми, но рекомендуется сохранить имена параметров. Вы можете обратиться к разделу «Помощь» программного обеспечения для ознакомления с примером документа.

---
title: push-markdown(рекомендуется указать название)

abstract: (можно оставить пустым)

url: (можно оставить пустым, автоматически извлекается из названия статьи, рекомендуется оставить пустым)

date: (можно оставить пустым, по умолчанию используется дата загрузки)

category:
- поделиться(или оставить пустым)

tags:
- bala(или оставить пустым)

thumbnail: (можно оставить пустым или указать путь к локальному изображению, одновременно устанавливая изображение заголовка при загрузке статьи)

other_images:
- (загружайте некоторые изображения, не используемые в тексте статьи, в Wordpress, если нет особых требований, рекомендуется не использовать этот параметр)

---
  1. Проблемы с загрузкой могут быть вызваны различными факторами, включая сетевые проблемы и конфликты с плагинами Wordpress. Попробуйте отключить все плагины Wordpress для проверки. Например, упомянутый выше плагин WP Editor.md изменяет редактор Wordpress на поддержку редактора Markdown, но он вносит изменения в идентификаторы статей, что делает невозможным обновление старых статей с использованием исходных идентификаторов. Это представляет угрозу для этого программного обеспечения, поскольку после создания новой статьи оно сохраняет возвращённый идентификатор статьи для последующего использования при обновлении старых статей. Поэтому рекомендуется отключить этот тип программного обеспечения (если вы используете этот инструмент для публикации Markdown, вам больше не понадобится этот редактор).

  2. Если автоматический режим публикации не работает, попробуйте использовать ручной режим и указать идентификатор статьи для принудительного обновления.

  3. Попробуйте открыть окно разработчика программного обеспечения и проверить наличие явных ошибок в меню окна.

  4. Наличие нескольких блогов может вызвать проблемы, так как у меня нет опыта работы с несколькими блогами, поэтому я не могу предоставить соответствующие рекомендации.

  5. Если ничего не помогает, отправьте вопрос автору для получения помощи (автор может не решить проблему).

Другие документы

[Опыт и мысли](docs/опыт и мысли.md)

[Проектная документация](docs/проектная документация.md)

Пример документа push-markdown — жизнь в переулке (szx.life)

Особая благодарность шаблону vite-electron-builder от cawa-93 за его значительный вклад в мою версию 2.0.0.

Важные версии

v2.1.2

  • Исправлена проблема с неудачной загрузкой статей с полями даты.

v2.1.1

  • Добавлен интерфейс пакетной загрузки, доступный в меню «Файл» → «Пакетная загрузка». Перед использованием рекомендуется ознакомиться с примечаниями.
  • Исправлено закрытие левой панели текущего окна, вызывающее повторную загрузку содержимого правой панели (проблема с индексом ключа v-for в Vue, классическая проблема).
  • Исправлено отсутствие добавления fancybox для внешних изображений (поддерживается только тема argon).

v2.1.0

  • Добавлено поле для установки изображения заголовка, которое можно установить при загрузке, указав путь к изображению и имя поля thumbnail в начале файла.
  • Внешние изображения не поддерживают настройку специальных изображений! Библиотека xmlrpc wp_thumbnail_id поддерживает только идентификаторы изображений Wordpress, внешние ссылки не поддерживаются! Wordpress по умолчанию также не поддерживает специальные изображения для внешних ссылок!
  • Обратите внимание: эта версия имеет другую структуру данных по сравнению с 2.0.X, и всё зависит от отсутствия планирования со стороны автора! Рекомендуется повторно импортировать данные, следуя инструкциям в руководстве по использованию!

v2.0.2

  • Повторно исправлены проблемы со slugify, теперь заголовки представляют собой смесь китайских и английских символов с дефисами, поскольку библиотека transliteration имеет некоторые проблемы. Не только возникают проблемы с цифрами и китайскими символами, теперь также обнаруживаются проблемы со смесью китайских и английских символов. Поэтому используются две библиотеки slugify для выполнения перевода и добавления дефисов соответственно.
  • Возможно, предыдущие заголовки, содержащие смесь китайских и английских символов, больше не смогут найти локальный идентификатор кэша. Приносим извинения за неудобства и рекомендуем перейти в настройки, открыть файл и вручную изменить URL статьи.

v2.0.1

  • Ещё раз оптимизирована логика публикации, предыдущая версия была избыточной. Автоматический режим напрямую использует локальный кэш для редактирования или публикации, вместо повторного получения информации о статье. Скорость снова улучшена.
  • Заголовок снова оптимизирован, добавлены дефисы до и после цифр, возвращаясь к режиму 1.x.
  • Проверка обновлений и значки в настройках были исправлены.

v2.0.0

  • Обратите внимание, что эта версия несовместима с 1.x! Рекомендуется удалить 1.x перед установкой 2.x, после установки 2.x перейдите в настройки и сбросьте их. Кроме того, необходимо заменить новый скрипт обновления, подробности см. в руководстве по использованию.

  • Эта версия в основном фокусируется на структуре проекта, структуре кода и т. д. (не смею сказать, что она оптимизирована).

  • Управление пакетами было изменено с yarn на pnpm, инструменты сборки были обновлены с vue/cli до vite3, AnyScript был обновлён до TypeScript, Vue3 был обновлён до Vue3 компонентного API, electron был обновлён до 20.

  • Немного улучшен пользовательский интерфейс, добавлен новый тёмный режим (термин маркетинга мобильных телефонов).

  • Предоставлен удобный способ импорта настроек блога, подробности см. в руководстве по использованию.

  • Можно открыть настройки файла для просмотра соответствующей информации или вручную изменить некоторые настройки.

  • Логика публикации была слегка оптимизирована, избегая повторной визуализации при отсутствии необходимости публикации, снижая потребление ресурсов и ускоряя время публикации.

  • Приложение поддерживает проверку обновлений в разделе «Справка» → «Проверка обновлений». v1.2.6

  • Добавлены функции закрытия файла по среднему и правому клику мыши.

  • Добавлено ограничение на количество символов в сводке.

  • Исправлена ошибка, при которой закрытие первого окна приводило к тому, что список файлов не обновлялся.

v1.2.5

  • Добавлены сочетания клавиш для быстрого доступа к текущему файлу и его перезагрузки.
  • Автоматическое определение режима публикации на основе локального кэша файла с использованием идентификатора файла.
  • Частичное исправление проблемы, связанной с обновлением файла, которая требовала сохранения файла или его закрытия.

v1.2.4

  • Убраны или оптимизированы стили полос прокрутки.
  • В окне публикации отображается идентификатор статьи из локального кэша.

v1.2.3

  • Файлы сортируются в соответствии с человеческим пониманием, то есть строки, содержащие цифры, сортируются по размеру цифр.
  • При обновлении появляется сообщение в строке состояния.
  • Сообщение в строке состояния появляется при каждой загрузке изображения.

v1.2.2

  • Автоматически обнаруживаются новые изображения без проверки сети, используя только локальный кэш, что значительно ускоряет процесс публикации.
  • Ручная публикация новых изображений использует удалённые статьи из сети для обновления локального кэша, см. руководство по использованию.

v1.2.1

  • Повторное исправление проблем с якорями (каждое исправление якорей приводит к новым ошибкам).
  • Изменение логики обновления файлов, чтобы избежать зависаний и обеспечить плавную работу.

v1.2.0

  • Адаптация программного обеспечения под macOS.
  • Адаптация блога под cnblogs и блог-платформу.
  • Добавление функции переключения тем, позволяя выбирать из нескольких доступных тем.
  • Добавление боковой панели управления ресурсами файлов для быстрого открытия файлов в том же каталоге.
  • Исправление проблемы с неработающими переходами по якорным ссылкам в локальном кэше, где присутствуют китайские и английские знаки препинания.
  • Исправлено отображение абсолютных путей к изображениям, которые используют \ в качестве разделителя.
  • Решена проблема с отображением китайских имён файлов, приводящих к сбоям в проверке сети.
  • Улучшен внешний вид полос прокрутки.
  • Исправлен баг с высотой полос прокрутки.
  • Исправлены проблемы с перетаскиванием текстовых полей в интерфейсе.
  • Обновлена документация.
  • Обновление версии Electron до 16.

v1.1.2

  • Добавлена функция преобразования URL в пиньинь, когда URL установлен пустым, заголовок преобразуется в формат пиньинь URL.
  • Обновили зависимости, обновили версию Electron до 15.2 (обновление «снизу вверх»).

v1.1.1

  • Ограничение на открытие только одного экземпляра приложения Electron.
  • Замена образца документа с использованием другого источника изображений, так как исходный источник на GitHub не работал.
  • Исправление ошибок в скрипте для изменения WordPress.

v1.1.0

  • Обновление Electron до версии 14 (да, я фанат обновлений).
  • Полуисправлен функционал якорей, если вы хотите реализовать эффект табуляции, вам нужно использовать полные китайские символы вместо заголовков.
  • Добавлен одноклавишный перезапуск, принцип очень прост, сначала закрыть, а затем открыть (ленивый).
  • Табуляция заменена на полный пробел, потому что код выглядит лучше и нет уродливых emsp.
  • Повторно добавлен MathJax, есть универсальная библиотека markdown-it, которая решает проблему.

v1.0.6

​ Эта версия в основном предназначена для исправления ошибок.

  • WebSecurity снова установлен в true, связанные сетевые операции предварительно загружаются в preload, что обеспечивает более плавное взаимодействие.
  • Полуисправление TOC каталога в программном обеспечении, всё ещё невозможно перейти в программе, но можно перейти после загрузки на блог, возможно, больше не будет исправлено, поскольку TOC каталог не является обязательным, Typora автоматически генерирует его, и мой блог также автоматически генерирует TOC.
  • Исправлено отсутствие реакции при нажатии на пример документа.
  • Исправлено отсутствие ответа при нажатии на главную страницу примера.
  • Исправлено переключение на внутренние ссылки.

v1.0.5

  • Изображения центрированы.
  • Исправлена проблема с преобразованием табуляции в emsp, ранее это было глобальное замещение, которое также заменяло код табуляцией, теперь оно заменяет только обычную текстовую табуляцию.
  • Новый скрипт для замены WordPress.
  • Исправлена ошибка сохранения истории состояний в панели тегов.
  • Исправлена ошибка отсутствия сохранения изменений.

v1.0.4

​ Оптимизирована логика загрузки изображений, особенно для многопользовательских и удалённых устройств, которые могут удалять или изменять изображения.

​ В ручном режиме, если выбрано принудительное обновление изображений, исходные изображения будут заменены новыми, и новые изображения не будут создаваться. Код для автоматического замещения также требует модификации кода WordPress, поскольку оригинальная логика WordPress заключается в создании изображений с суффиксами -1, -2 и т. д., а не в замене исходных изображений, поэтому требуется добавить небольшой фрагмент кода.

​ Если в ручном режиме не выбрано принудительное обновление или в автоматическом режиме, будет проверяться наличие локальных кэшированных изображений и удалённых URL-адресов, и если они существуют, изображения не будут обновляться, даже если имена файлов были изменены (проверяется только имя файла). Если ни один из них не существует, изображение будет обновлено.

​ Поэтому рекомендуется, если удалённые изображения были удалены или локальные изображения были изменены, принудительно обновлять изображения, автоматический режим может быть не столь эффективным, поскольку иногда CDN всё ещё имеет эффект кэширования, даже после удаления изображений.

​ Поскольку WordPress 5.8 теперь поддерживает формат WebP, поддержка загрузки изображений в формате WebP также включена, что требует всего одной строки кода.

v1.0.3

​ Оптимизация логики загрузки статей на WordPress, вызванная многократной установкой во время разработки программного обеспечения, даже очисткой кеша или использованием программного обеспечения на разных устройствах, или удалением статей WordPress, что приводит к невозможности использования исходного кода логики.

​ Обновлённая логика:

  1. Ручной режим: сначала режим 1; если ID равен 0, режим 2; если режим 2 не удался, режим 3; если режим 3 не удался, режим 4.
  2. Автоматический режим: сначала режим 2; если режим 2 не удался, режим 3; если режим 3 не удался, режим 4.
  3. Создание новой статьи: сразу режим 4.
  • Режим 1: обновить указанную статью ID.
  • Режим 2: обновить локально кэшированный ID статьи (тот же URL).
  • Режим 3: обновить удалённый ID статьи (то же название, поскольку все статьи, включая контент, извлекаются, что может привести к увеличению трафика).
  • Режим 4: создать новую статью.

​ Ручной режим подходит для первого использования программного обеспечения или переключения на другое устройство для обновления статьи, тогда можно указать ID статьи для успешного обновления в этот раз, и локальный кеш сохранит обновлённый ID.

​ Автоматический режим подходит для использования на одном устройстве и наличия локального кеша, если локального кеша нет, он также может автоматически получать удалённый ID статьи, за исключением увеличения трафика.

v1.0.0

​ Завершено создание версии 1.0.0, потребовалось 10 дней работы, почти весь исходный код был перенесён, логика и методы остались неизменными, за исключением того, что он стал TypeScript (AnyScript😁). Хотя сейчас всё ещё существует множество проблем, таких как удаление MathJax, поскольку оригинальный код не работает, и у меня нет такой потребности, а также логика загрузки изображений и т.д., но, по крайней мере, программное обеспечение теперь можно использовать, и это уже большой успех.

​ Можно опубликовать в блоге, ура ( •̀ ω •́ )✧.

Задачи

  • v-html заменить компонентами для безопасности. (Лень, не критично.)
  • Реализовать панель заголовка и меню. (Лень, нет желания реализовывать.)
  • Возможно, потребуется переписать логику кэширования изображений на основе md5. (Не нужно использовать md5, так как это хлопотно и требует ресурсов, в настоящее время не вижу необходимости, подробности см. в версии 1.0.4.)
  • При использовании клавиши Tab текст преобразуется в пробелы, надеюсь, можно преобразовать в полные пробелы. (Уже исправлено, просто замените \t на  ) (Снова исправлено, замените \t на полные пробелы.)
  • mathjax не реализован, поскольку в настоящее время он не используется, и он слишком сложен.
  • Центрировать изображения.
  • Записывать историю открытия файлов.
  • Отмечать изменённые файлы.
  • Добавить кнопку перезагрузки одним нажатием.
  • Использовать TypeScript (избегать использования any).
  • Преобразовать в Vue3.
  • Реализовать файловый менеджер, похожий на Typora.
  • Поддержка различных стилей Markdown.

Аналогичные проекты

Публикация локальных статей на различных платформах — Write Assistant.

Командная строка для загрузки Markdown в блог-парк — pycnblog.

Отличная программа для написания Markdown для пользователей Apple — MWeb.

Программа для публикации в общедоступный аккаунт WeChat, поддерживающая Markdown — редактор Markdown для WeChat.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Отправить локальный Markdown в WordPress. Расширить Свернуть
Apache-2.0
Отмена

Обновления (7)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/xaotuman-push-markdown.git
git@gitlife.ru:oschina-mirror/xaotuman-push-markdown.git
oschina-mirror
xaotuman-push-markdown
xaotuman-push-markdown
master