Делитесь контентом между файлами Markdown - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть набор из шести учебных пособий по Markdown, написанных для разных языков программирования. Проблема в том, что файлы часто разделяют целые абзацы контента, поэтому теперь у нас один и тот же контент представлен в шести местах. Это означает, что держать все в синхронизации после обновления действительно сложно.

Можно ли хранить данные абзаца только в одном месте? В настоящее время мы обрабатываем файл Markdown и возвращаем HTML в тот момент, когда пользователь запрашивает страницу, хотя мы могли бы изменить это с помощью хорошего решения.

1 Ответ

0 голосов
/ 23 июня 2012

Этого, безусловно, легко достичь.

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

{{commonText1}}

Где commonText1 было ядром имени файла (например, commonText1.MD или что-то подобное).

Затем измените PHP, который переводит MD в HTML, чтобы он сначала проходил по тексту в поисках разметки, читая соответствующий общий файл и вставляя текст. Затем вы возобновите свой обычный перевод.

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

... blah blah ....
{{?commonText1}}
This is the common text, inserted so that reading the source text file still makes sense
{{/commonText1}}
... more blah ...

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

Даже программист-любитель PHP должен иметь возможность вносить эти изменения и тестировать их максимум за пару дней.

Надеюсь, это имеет смысл, если нет, оставьте комментарий, и я постараюсь улучшить ответ.

...