Goodlabour.ru (main) Index TheGame

TheGame:
GameScenario - Пт 06 июн 2025
thegame_keydb_php - Пт 06 июн 2025
The game scene(godot) - Пт 06 июн 2025
autopub - Пт 06 июн 2025
Remove Duplicates - Пт 06 июн 2025 22:11:05 MSK
Status Auto Update - Сб 07 июн 2025 18:10:33 MSK
KeyDB Status Control - 07.06.2025 18:55
EngineeringApproachВт 10 июн 2025 10:09:40 MSK
Последние:
BooksNetworkSecurityВт 10 июн 2025 12:06:13 MSK
platformВс 15 июн 2025 23:50:39 MSK
PostgreqGuru-1Пт 20 июн 2025 11:08:56 MSK
ErusevParsedownReadmeПт 20 июн 2025 11:21:28 MSK
file_descriptorsПт 17 окт 2025 18:26:39 MSK

Вот пример bash-скрипта, который:


#!/bin/bash

# Проверка входного параметра
if [ $# -ne 1 ]; then
  echo "Использование: $0 <имя_markdown_файла>"
  exit 1
fi

MARKDOWN_FILE="$1"

# Проверяем, что файл существует
if [ ! -f "$MARKDOWN_FILE" ]; then
  echo "Файл '$MARKDOWN_FILE' не найден"
  exit 2
fi

# Проверяем, что переменные окружения заданы
if [ -z "$MARKDOWN_PUBLISH_DIR" ]; then
  echo "Переменная окружения MARKDOWN_PUBLISH_DIR не задана"
  exit 3
fi

if [ -z "$MARKDOWN_ARTICLES_INDEX_FILE" ]; then
  echo "Переменная окружения MARKDOWN_ARTICLES_INDEX_FILE не задана"
  exit 4
fi

# Имя выходного html файла
BASENAME=$(basename "$MARKDOWN_FILE" .md)
OUTPUT_HTML="$MARKDOWN_PUBLISH_DIR/${BASENAME}.html"

# PHP-скрипт для преобразования markdown в html с помощью Parsedown
PHP_SCRIPT=$(cat <<'EOF'
<?php
require_once 'vendor/autoload.php'; // путь к autoload, если используется composer

$inputFile = $argv[1];
$outputFile = $argv[2];

if (!file_exists($inputFile)) {
    fwrite(STDERR, "Файл не найден: $inputFile\n");
    exit(1);
}

$markdown = file_get_contents($inputFile);
$parsedown = new Parsedown();
$html = $parsedown->text($markdown);

file_put_contents($outputFile, $html);
EOF
)

# Выполнение PHP-скрипта
php -r "$PHP_SCRIPT" "$MARKDOWN_FILE" "$OUTPUT_HTML"
if [ $? -ne 0 ]; then
  echo "Ошибка при преобразовании markdown в html"
  exit 5
fi

# Формируем строку ссылки для вставки в индекс
LINK="<a href=\"parsed_md.html/${BASENAME}.html\">${BASENAME}</a>"

# Добавляем ссылку в индекс
echo "$LINK" >> "$MARKDOWN_ARTICLES_INDEX_FILE"

echo "Файл преобразован и сохранён: $OUTPUT_HTML"
echo "Ссылка добавлена в индекс: $MARKDOWN_ARTICLES_INDEX_FILE"

Как использовать

  1. Убедитесь, что:
  1. Запустите скрипт:
./md2html.sh example.md

Что делает скрипт

<a href="parsed_md.html/example.html">example</a>

Если нужно, могу помочь с адаптацией под ваши условия.