Nano Hash - криптовалюты, майнинг, программирование

Как мне лучше всего структурировать макеты Jekyll для блога?

У меня очень простой макет:

#_layouts/default.html

{% include header.html %}

  {{ content }}

{% include footer.html %}

Первая страница, на которой показаны все сообщения (без комментариев):

#index.html

---
title: Schmexy Title
---

<section id="fresh-off-the-press">

{% for post in site.posts %}
  <article class="post">
    <header>
      <p class="post-date">{{ post.date | date: '%b %d, %Y' }}</p>
      <h1 class="post-heading"><a href="{{ post.url }}" class="post-permalink">{{ post.title }}</a></h1>
    </header>

       {{ post.content | split:'<!-- body -->' | last }}

  </article>
{% endfor %}

</section>

И простой формат статьи:

#_posts/2015-02-25.superduper.md

---
title: SuperDuperHeadline
category: newsflash
---

[SuperDuperHeadline][1]
===================

<!-- body -->

After a hassle-free launch, [Jekyll] has kept me up all night.

[1]: {{ page.url }}
[Jekyll]: http://jekyllrb.com

Использование комментария, чтобы jekyll не отображал дважды заголовок статьи, кажется очень хакерским.

Я пробовал просто удалить заголовок и текст

[SuperDuperHeadline][1]
===================

<!-- body -->

который отлично работает с index.html, но когда я нажимаю на ссылку заголовка, чтобы перейти к статье, она затем отображается без заголовка, поскольку Jekyll выводит только html-преобразование разметки внутри макета по умолчанию.

Итак, я попытался использовать подшаблон для отображения отдельного сообщения, изменив заголовок статьи, чтобы использовать _layouts / post.html

#_posts/2015-02-25.superduper.md

---
title: SuperDuperHeadline
category: newsflash
layout: post
---

с новым макетом, очень похожим на старый макет (но с возможностью отображения комментариев)

#_layouts/post.html

---
layout: default
---


<article class="post">
  <header>
    <p class="post-date">{{ page.date | date: '%b %d, %Y' }}</p>
    <h1 class="post-heading"><a href="{{ page.url }}" class="post-permalink">{{ page.title }}</a></h1>
  </header>

{{ page.content | markdownify | split:'<!-- body -->' | last }}

  <!--
  <section class="comments">
    <header><h1 class="comments-heading">Comments</h1></header>    
    <article class="comment">
        <footer><p>Posted by: Commenter 1</p></footer>
        <p>Comment 1</p>
    </article>
    <article class="comment">
        <footer><p>Posted by: Commenter 2</p></footer>
        <p>Comment 2</p>
    </article>
  </section>
  -->

This sub-template needed the further hack of piping everything through markdownify before using the body hack to separate the header from the contents.

Все это кажется очень ... ну, хакерским. Я, должно быть, делаю что-то не так

Как лучше всего структурировать макеты и публикации для блога? Почему в подшаблоне не используется уценка?

25.02.2015

  • Я не уверен, что понимаю, что вы на самом деле пытаетесь сделать. Можете ли вы объяснить, почему вы вообще занимаетесь этим <!-- body -->? 25.02.2015
  • спасибо за ответ христианин. Я просто пытаюсь перечислить все сообщения на главной странице (без комментариев) и перейти к одному сообщению (с комментариями). Я хотел бы писать сообщения в формате .md и правильно размечать их в соответствии с post.html. ‹! - body -› - это хитрость, позволяющая остановить отображение заголовка постоянной ссылки дважды. 26.02.2015

Ответы:


1

Я воссоздал ваш сайт Jekyll на своей машине, скопировав код из вашего вопроса, за исключением двух включаемых файлов, которые вы не показали в своем вопросе:

{% include header.html %}
{% include footer.html %}

В своем проекте я использовал для них следующий контент:

<!DOCTYPE html>
<html>
<head>
    <title>{{ page.title }}</title>
</head>
<body>
<h1>{{ page.title }}</h1>

а также

</body>
</html>

... и у меня дважды не отображался заголовок.

Можете ли вы показать мне свои header.html и footer.html?
(или лучше, весь проект где-то в сети, например, на GitHub, где я могу увидеть код?)

Я подозреваю, что у вас есть что-то, из-за чего заголовок отображается дважды.


Я создал несколько сайтов с Jekyll, и это определенно возможно сделать без каких-либо взломов:

Я просто пытаюсь перечислить все сообщения на главной странице (без комментариев) и перейти к одному сообщению (с комментариями). Я хотел бы писать сообщения в формате .md и правильно размечать их в соответствии с post.html.

Я немного упростил ваш пример - взгляните на это:

Код

/index.html:

---
title: Schmexy Title
layout: default
---

<section id="fresh-off-the-press">

{% for post in site.posts %}
  <article class="post">
    <header>
      <p class="post-date">{{ post.date | date: '%b %d, %Y' }}</p>
      <h1 class="post-heading"><a href="{{ post.url }}" class="post-permalink">{{ post.title }}</a></h1>
    </header>

       {{ post.content }}

  </article>
{% endfor %}

</section>

/layouts/default.html:

<!DOCTYPE html>
<html>
<head>
    <title>{{ page.title }}</title>
</head>
<body>

<h1><a href="{{ page.url }}">{{ page.title }}</a></h1>

{{ content }}

</body>
</html>

/_posts/2015-02-25-superduper.md:

---
title: SuperDuperHeadline
category: newsflash
layout: default
---

After a hassle-free launch, [Jekyll] has kept me up all night.

[Jekyll]: http://jekyllrb.com

Созданный HTML:

/index.html:

<!DOCTYPE html>
<html>
<head>
    <title>Schmexy Title</title>
</head>
<body>

<h1><a href="/index.html">Schmexy Title</a></h1>

<section id="fresh-off-the-press">


  <article class="post">
    <header>
      <p class="post-date">Feb 25, 2015</p>
      <h1 class="post-heading"><a href="/newsflash/2015/02/25/superduper.html" class="post-permalink">SuperDuperHeadline</a></h1>
    </header>

       <p>After a hassle-free launch, <a href="http://jekyllrb.com">Jekyll</a> has kept me up all night.</p>

  </article>

</section>

</body>
</html>

/newsflash/2015/02/25/superduper.html:

<!DOCTYPE html>
<html>
<head>
    <title>SuperDuperHeadline</title>
</head>
<body>

<h1><a href="/newsflash/2015/02/25/superduper.html">SuperDuperHeadline</a></h1>

<p>After a hassle-free launch, <a href="http://jekyllrb.com">Jekyll</a> has kept me up all night.</p>

</body>
</html>

Вот и все - по одному заголовку на странице, и заголовок представляет собой постоянную ссылку.

Это то, чего вы хотели достичь?

(Я знаю, что пропустил комментарии на этом первом этапе - мы вернемся к этому позже, если они вам все еще понадобятся)

26.02.2015
  • спасибо за ваш ответ христианин. Важно отметить, что сообщение при нажатии не размечается в формате статьи. Я думаю, что главное - сохранить заголовок в начале и потерять его в теле файла уценки. Думаю, я почти у цели - спасибо, что указали мне правильное направление. 02.03.2015
  • @ Адам: Извините, я не видел вашего последнего комментария до сих пор. Вы можете объяснить importantly though the post when clicked through is not marked up in the article format.? Вы имеете в виду, что что-то с сгенерированным HTML в моем ответе не похоже на то, что вы хотели, или вы пытались адаптировать мой ответ к своему коду, и он ведет себя иначе, чем в моем ответе? Если второе, не могли бы вы показать еще код? Может быть, весь ваш сайт находится в общедоступном репозитории GitHub, где я могу его увидеть? 24.03.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..