Введение
Иногда необходимо быстро написать план, статью, инструкцию и нет времени на оформление. В своё время освоил разметку markdown и теперь часто ею пользуюсь, т.к. она простая и не многословная. Но для публикации в интернет, всё же нужен HTML. Написал небольшой пример преобразования markdown разметки в html файл.
Подготовка
Предполагается, что composer
уже установлен и настроен. Если нет, то в статье, как установить и настроить composer можно подробно обю этом узнать.
Установка библиотеки
В примере используется библиотека Parsedown. Её необходимо установить. Либо скачав файл из репозитория - https://github.com/erusev/parsedown, либо при помощи composer командой:
composer require erusev/parsedown
Создание скрипта
Теперь создадим файл - markdown_to_html.php
со следующим кодом:
<?php
require 'vendor/autoload.php';
function convertMarkdownToHtml($markdownFilePath) {
// Читаем содержимое файла с Markdown
$markdownContent = file_get_contents($markdownFilePath);
// Создаем экземпляр Parsedown
$parsedown = new Parsedown();
// Преобразуем Markdown в HTML
$htmlContent = $parsedown--->text($markdownContent);
// Возвращаем HTML
return $htmlContent;
}
// Укажите путь к вашему файлу с Markdown
$markdownFilePath = 'README.md';
// Преобразуем Markdown в HTML
$htmlContent = convertMarkdownToHtml($markdownFilePath);
// Выводим HTML
echo $htmlContent;
?>
Создание примера
Теперь в этой же папке создайте файл - README.md
с текстом:
# Заголовок
Пример параграфа после заголовка
## Заголовок
Пример параграфа после заголовка
### Заголовок
Пример параграфа после заголовка
#### Заголовок
Пример параграфа после заголовка
##### Заголовок
Пример параграфа после заголовка
###### Заголовок
Пример параграфа после заголовка
Пример списков нумерованного и не нумерванного
1. Пункт
* подпункт
* подпункт
* подпункт
2. Пункт
- подпункт
- подпункт
3. Пункт
+ подпункт
+ подпункт
+ подпункт
Пример кода
```
import pandas as pd
df = pd.DataFrame(table)
```
Запуск примера
Теперь можно запустить скрипт на выполнение, любым удобным вам способом. Либо через браузер, либо в консоли