ФорумПрограммированиеПыхнуть хотите?Готовые решения → Markdown handler

Markdown handler

  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 7 ноября 2012 г. 8:49, спустя 2 минуты 6 секунд

    Кто не знает, что такое Markdown, могут почитать wiki
    Вот простейший способ просматривать документы в разметке Markdown на своем сайте:
    в .htaccess добавляем строки

    Action markdown /markdown/handler.php
    AddHandler markdown .md .markdown

    создаем каталог markdown и помещаем туда handler.php

    <?php
    header(&#39;Content-type: text/html; charset=utf-8&#39;);
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/markdown/style.css&quot;>
    <meta name=&quot;content-type&quot; http-equiv=&quot;content-type&quot; value=&quot;text/html; utf-8&quot;>
    </head>
    <body>
    <?php

    require(&#39;markdown.php&#39;);

    $legalExtensions = array(&#39;md&#39;, &#39;markdown&#39;);

    $file = str_replace(&#39;\\&#39;, &#39;/&#39;, realpath($_SERVER[&#39;PATH_TRANSLATED&#39;]));
    if($file
    &amp;&amp; in_array(strtolower(substr($file,strrpos($file,&#39;.&#39;)+1)), $legalExtensions)
    &amp;&amp; substr($file,0,strlen($_SERVER[&#39;DOCUMENT_ROOT&#39;])) == $_SERVER[&#39;DOCUMENT_ROOT&#39;]) {
    echo Markdown(file_get_contents($file));
    } else {
    echo &quot;<p>Bad filename given</p>&quot;;
    }
    ?>
    </body>
    </html>


    Рядом кладем парсер PHP Markdown
    а стилевой файл, какой захотите.

    Теперь при обращении к любому файлу на сайте с расширением .md или .markdown будет показываться нормальная страница с полноценной разметкой. см. пример - ссылка сдохла

    Рецепт взят отсюда: sminnee&#39;s markdown-handler, я только добавил str_replace чтобы на Windows тоже работало
    ιιlllιlllι унц-унц
  • Sinkler

    Сообщения: 9658 Репутация: N Группа: в ухо

    Spritz 17 мая 2010 г. 15:58, спустя 6 часов 9 минут 28 секунд

    Ну это куда-нибудь в готовые решения надо =)
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 17 мая 2010 г. 19:08, спустя 3 часа 9 минут 18 секунд

    не стал, потому что Г.Р. &quot;Для тех, кто хочет поделиться своими решениями&quot;. тут моего с гулькин нос )
    просто сам буду пользоваться и обществу может пригодиться.
    ιιlllιlllι унц-унц
  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 18 мая 2010 г. 0:27, спустя 5 часов 19 минут 32 секунды

    а че за штука, долго читать можешь в двух словах объяснить фичу?
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 18 мая 2010 г. 2:22, спустя 1 час 54 минуты 55 секунд

    ну я не знаю с какого места начать :) очень часто в дистрибах лежат доки с разметкой markdown.
    фишка в том, что это САМЫЙ простой и универсальный способ распарсить такие доки. ну или я не знаю проще.
    ιιlllιlllι унц-унц
  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 18 мая 2010 г. 4:10, спустя 1 час 47 минут 32 секунды

    artoodetoo, а, понятно, спасибо
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 18 мая 2010 г. 5:10, спустя 1 час 6 секунд

    я на гитхабе читаю. Там при просмотре файла в репозитории он &quot;хавает&quot; его {+++39+++} ваще не очень люблю я маркдовн, для меня он какой-то сложный (в плане верстать на нем сложно). К бб-кодам привык {+++55+++} и все же я предлагаю в готовые решения перенести
  • s.r.

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 ноября 2012 г. 8:09, спустя 904 дня 3 часа 58 минут

    Очень крутая штука, для чеинджлогов под каждый проект.

    Но вот беда, не пойму что ему не нравится. на локалке(mac/Apache) работает, а на линукс апач довольно скупо ругается &quot;Bad filename given&quot;
    Php выдает: Notice: Undefined index: PATH_TRANSLATED in /home/ihplafv/public_html/projectwebsite.com/markdown/handler.php on line 17
    Афтор хандлера не сделал к сожалению или к счастью возможности на гитхубе пожаловаться.
    Может кто опытный мог бы посоветовать, в чем может быть проблема и куда копать??

    Заранее спасибо

    Алекс
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 7 ноября 2012 г. 8:47, спустя 38 минут 5 секунд

    Видимо есть разница в версиях апача. Подбери какую-нибудь другую переменную.
    Суть в том, что $_SERVER[&#39;PATH_TRANSLATED&#39;] должен указывать на твой .md файл, всего навсего ;) Вставь первой командой скрипта die(var_export($_SERVER, true)); и увидишь что можно использовать вместо PATH_TRANSLATED.

    Удачи!
    ιιlllιlllι унц-унц
  • Josh

    Сообщения: 2009 Репутация: N Группа: Кто попало

    Spritz 7 ноября 2012 г. 9:07, спустя 20 минут 42 секунды

    В готовые решения!!! Ну его в жопу потом это искать во флейме
  • lolcat

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 ноября 2012 г. 14:02, спустя 4 часа 54 минуты 36 секунд

    Рекомендую texy. Markdown намного тупее.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!