#html #css #perl #markdown
#HTML #css #perl #markdown
Вопрос:
Мне нравится markdown. Я использую его в сочетании с Template Toolkit, и в принципе мне не нужно писать какой-либо html. Мои веб-страницы статичны, содержат только фрагмент js, который использует Google Analytics. В основном я хотел бы сохранить это таким образом. У меня нулевой опыт работы с javascript.
Я могу сделать до некоторой степени простой макет страницы, используя несколько классов, применяемых к DIVs.
Итак, это
<DIV class=picr3>
![Shelterbelt-12][2]
Planting a shelterbelt, or any tree project...
***
</DIV>
[2]: /Images/Shelterbelt/Shelterbelt-12.jpg
это весь html, который мне нужно использовать, чтобы изображение размером в ширину 30% от содержимого div было перемещено вправо. Система не идеальна, но она достаточно хорошо изменяет размер, а поскольку страница статична, она хорошо кэшируется и быстро доставляется.
Для меня важнее другое: я могу тратить время на написание контента и совсем немного настраивать макет.
Проблема: если я отправляю красивое изображение рабочего стола на мобильный телефон, время загрузки увеличивается. Если я использую изображение с уменьшенным разрешением, чтобы ускорить доступ к телефону, это выглядит как дерьмо на рабочем столе.
В Html у нас теперь есть элемент, объединенный с атрибутами srcset и size. Это превращает то, что раньше было простым тегом img, в это:
<picture>
<source media="(max-width: 700px)" sizes="(max-width: 500px) 50vw, 10vw"
srcset="stick-figure-narrow.png 138w, stick-figure-hd-narrow.png 138w">
<source media="(max-width: 1400px)" sizes="(max-width: 1000px) 100vw, 50vw"
srcset="stick-figure.png 416w, stick-figure-hd.png 416w">
<img src="stick-original.png" alt="Human">
</picture>
На данный момент я рассматриваю возможность развертывания моего собственного решения в значительной степени в этом направлении:
-
Замените <DIV> на <div> В моей реализации Markdown, нахождение между тегами нижнего регистра означает, что содержимое этого тега не обрабатывается Markdown.
-
Придумайте стандартное соглашение об именовании, скажем whateverimage-L.jpg для расширенной версии, -M.jpg для средней версии и -S. jpg для уменьшенной версии.
-
Предварительно обработайте результирующие файлы markdown, чтобы сгенерировать полный элемент из встроенного markdown. Я думаю, что это в пределах моих ограниченных возможностей программирования на perl.
Ошибки?
Это колесо уже изобретено?
Как лучше подойти к этому? Должен ли я стиснуть зубы и сделать это с помощью фрагмента javascript?
Какое-то другое решение, которого мне не хватает в моем блуждании по «лабиринту извилистых проходов, все разные», то есть Интернет?
Примечание для модераторов: это может лучше подойти для webmasters.SE . Казалось, это было больше похоже на программу. Если вы считаете, что это должно быть там, пожалуйста, переместите это.
Комментарии:
1. Раздел » HTML » правил, кажется, довольно четко указывает, что такого рода вещи выходят за рамки Markdown и должны решаться с помощью необработанного HTML. Лично я не знаю ни о каких реализациях Markdown, которые поддерживают
picture
теги. Так что да, вставляйте необработанный HTML в свои документы. Вставляете ли вы этот необработанный HTML вручную или с помощью скрипта, зависит от вас.2. Если вы используете Template Toolkit, вы можете написать шаблон для этого и следовать определенному соглашению об именовании, затем включить этот шаблон. Если это слишком много работы, вы можете написать код на Perl и экспортировать его как vmethod, который сделает это за вас. Затем вам нужно будет ввести имя вашего файла, очень похожее на Markdown, и оно сгенерирует правильные вызовы шаблона.
3. Или вы могли бы создать подкласс синтаксического анализатора markdown, который вы используете, чтобы научить его генерировать другой HTML.
4. @sunbabqye посмотрел на это. Может быть, но я действительно не понимаю код. Я пытался модифицировать его раньше, и обычно мне приходится возвращаться.