Я использую Jekyll, который использует язык жидких шаблонов. Я использовал шаблоны Jinja в прошлом, и у нее есть концепция macro (только именованная функция). Имеет ли жидкость что-то, что обеспечивает эквивалентную функциональность? Если нет, есть ли какой-нибудь Jekyll-плагин, который продлит Liquid, чтобы обеспечить его?Macro in Liquid Язык шаблона
ответ
Это именно то, для чего сделаны Jekyll tags plugins.
Справка GitHub о [поддерживаемых плагинах Jekyll] (https://help.github.com/articles/using-jekyll-plugins-with-github-pages/) и страницах GitHub [зависимостей плагина] (https: // pages .github.com/versions /) не перечисляет плагин Jekyll tags, поэтому, к сожалению, я не думаю, что это решение будет работать на страницах GitHub. –
Так почему вы говорите о плагинах? Тем не менее, на страницах github решение @ erik-gillespie - это одно. И спасибо, что вы проголосовали. –
OP может не знать, что доступные плагины на страницах GitHub ограничены, поэтому я счел нужным указать. Если OP * * использует GitHub Pages в качестве подсказок, то ваш ответ не будет работать, и если его попробуют, это вызовет много головных болей, следовательно, downvote. –
Вы можете создавать включенные, которые принимают параметры. Это не довольно макрос, но это то, что я успешно использовал на страницах GitHub.
Более подробную информацию и советы по управлению включением и использованием параметров можно найти in the Jekyll documentation.
Вот пример:
_includes/email_link.html
<a href="mailto:{{ include.user.email_address }}"
title="Email {{ include.user.name }}">
<i class="fa fa-fw fa-envelope"></i>
</a>
about.md
---
layout: page
title: About
---
{% include email_link.html user=site.users.erik %}
_config.yml
users:
erik:
name: Erik
email_address: [email protected]
Здесь, как я помню, есть некоторые gotchas, самый большой из которых включает в себя не ограниченную область действия, поэтому переменные, измененные внутри include, будут оставаться после включения. –
- 1. link_to in liquid template
- 2. Liquid Exception in atom.xml
- 3. Macro in macro loop
- 4. Kentico Transformation - Macro in Macro
- 5. Fade In/Fade out in liquid-fire
- 6. Escaping Characters in Liquid String
- 7. Использование Liquid in Rails активов
- 8. stepping in MACRO in VC++
- 9. lambda macro in elisp
- 10. Macro in Excel 2010
- 11. libc macro in autoconf
- 12. google search in macro
- 13. "?" mark in C macro
- 14. "with" macro in C
- 15. Macro in C непонятен
- 16. Vlookup in Excel Macro
- 17. Macro in Delmia
- 18. Macro stepper in DrRacket
- 19. Pragma in define macro
- 20. Эмуляция 'return' in macro
- 21. Массив массивов? in macro
- 22. Jinja2: say «Render this macro in another macro or template»
- 23. Liquid - Fixed - Liquid Layout
- 24. Liquid - parse YAML front matter in string
- 25. Какой язык программирования/шаблона?
- 26. Visual Studio Macro - Code Gen Язык
- 27. Как вы комментируете Liquid?
- 28. Ascending Numbers in Macro Определение
- 29. параметр check in C macro
- 30. macro variable in where statement
Поскольку это не похоже на Liquid, я открыл [вопрос о Github] (https://github.com/Shopify/liquid/issues/580). –