https://hpg-newspaper.surge.sh
Все выпуски хранятся в .md файлах в папке text.
Чтобы создать новый выпуск, нужно просто создать новый файл в папке text с названием номера выпуска. Например 10.md.
По сути это обычный текстовый документ, куда вводится текст статей и заголовки для них.
Статья выглядит так:
## Заголовок статьи
### Подзаголовок статьи
<!-- метаданные. цвет, картинка и т.д. -->
Абзац 1. **Жирный текст**, _Курсив_, **_жирный курсив_**.
Абзац 2. Ниже разделительная полоса.
---
Абзац 3. Абзацы отделяются переносом строки.
Абзац 4. Пример ссылки: [ссылка](https://clips.twitch.tv/AnnoyingAliveNightingaleTheThing)
Абзац 5. Пример картинки в тексте: Заголовок и подзаголовок жолжны быть обязательно в каждой статье.
Если статья без заголовка/подзаголовка, вместо него нужно указать знак -.
Пример:
## -
### Статья без заголовка но с подзаголовкомИнгода слова в заголовоке/подзаголовке могут переноситься не так, как нужно.
Чтобы указать место, где в заголовоке/подзаголовке должен переноситься текст, нужно использовать <br>.
Пример:
## Заголовок <br> с переносом текста
### Очень длинный подзаголовок. <br> В два предложенияВ статьи так же можно вставлять специфическую HTML-разметку при необходимости.
Метаданные для статьи находятся в yaml блоке.
Метаданные для обычной статьи:
color: цвет блока со статьёй (обязательный параметр) - yellow | blue | white | red
image: путь к картинке
imageHeight: высота картинки в пикселяхМетаданные для статьи-приветствия:
variant: neonШаблон для рендера выпуска находится в jsx блоке после статистики.
Все статьи попадают в массив articles.
Например если в документе 8 статей, этот массив будет содержать 8 элементов.
Статьи идут в том же порядке, в котором они указаны в документе.
Для отображения статьи есть компонент Article.
Чтобы отобразить первую статью, нужно написать:
<Article {...articles[0]} />Чтобы отобразить вторую:
<Article {...articles[1]} />И так далее. Нумерация начинается с 0
Для заголовка используется компонент Heading:
<Heading>Главное</Heading>Чтобы отобразить статьи в две колонки, нужно использовать компонент Grid:
<Grid container>
<Grid item>
<!-- статьи первой колонки -->
</Grid>
<Grid item>
<!-- статьи второй колонки -->
</Grid>
</Grid>В целом шаблон для рендера выглядит так:
<Layout {...props}>
<Article {...articles[0]} />
<Heading>Главное</Heading>
<Article {...articles[1]} />
<Grid container>
<Grid item>
<Article {...articles[2]} />
<Article {...articles[3]} />
</Grid>
<Grid item>
<Article {...articles[4]} />
<Article {...articles[5]} />
<Article {...articles[6]} />
</Grid>
</Grid>
</Layout>В большинстве случаев тут достаточно просто поменять количество статей в левой и правой колонках, или добавить/удалить нужные статьи.
Пример:
Представим, что нужно:
- убрать статью после приветствия
- в первой колонке сделать три статьи
- во второй колонке оставить только одну статью
- добавить заголовок "Спецвыпуск" в конце
- добавить статью после заголовка "Спецвыпуск"
Тогда шаблон для рендера будет выглядеть так:
<Layout {...props}>
<Article {...articles[0]} />
<Heading>Главное</Heading>
<Grid container>
<Grid item>
<Article {...articles[1]} />
<Article {...articles[2]} />
<Article {...articles[3]} />
</Grid>
<Grid item>
<Article {...articles[4]} />
</Grid>
</Grid>
<Heading>Спецвыпуск</Heading>
<Article {...articles[5]} />
</Layout>Блок со статистикой находится в самом начале документа.
Важно: Кавычки и отступы не трогать. Менять только текст.