Merge pull request #13 from Discours/about

About & dev css modules class names
This commit is contained in:
Igor Lobanov 2022-09-23 21:09:20 +02:00 committed by GitHub
commit cba6ea67cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 1316 additions and 972 deletions

View File

@ -7,14 +7,30 @@ import mdx from '@astrojs/mdx'
import { markdownOptions as markdown } from './mdx.config'
// import sitemap from '@astrojs/sitemap'
import type { CSSOptions } from 'vite'
import defaultGenerateScopedName from 'postcss-modules/build/generateScopedName'
import { isDev } from './src/utils/config'
// const dev = process.env.NODE_ENV != 'production'
const PATH_PREFIX = '/src/components/'
const getDevCssClassPrefix = (filename: string): string => {
return filename
.slice(filename.indexOf(PATH_PREFIX) + PATH_PREFIX.length)
.replace('.module.scss', '')
.replace(/[/\\]/, '-')
}
const devGenerateScopedName = (name: string, filename: string, css: string) =>
getDevCssClassPrefix(filename) + '_' + defaultGenerateScopedName(name, filename, css)
const css: CSSOptions = {
preprocessorOptions: {
scss: {
additionalData: '@import "src/styles/imports";\n'
}
},
modules: {
generateScopedName: isDev ? devGenerateScopedName : defaultGenerateScopedName,
localsConvention: null
}
}

View File

@ -39,6 +39,7 @@
"loglevel-plugin-prefix": "^0.8.4",
"mailgun.js": "^8.0.1",
"nanostores": "^0.6.0",
"postcss-modules": "^5.0.0",
"rehype-autolink-headings": "^6.1.1",
"rehype-slug": "^5.0.1",
"rehype-toc": "^3.0.2",

View File

@ -0,0 +1,61 @@
import { MainLayout } from '../../Layouts/MainLayout'
// const title = t('Dogma')
export const DogmaPage = () => {
return (
<MainLayout>
<article class="container">
<div class="row">
<h4 class="col-md-8 offset-md-2">Редакционные принципы</h4>
<div class="col-md-8 col-lg-6 offset-md-3">
<p>
Дискурс - журнал с открытой горизонтальной редакцией. Содержание журнала определяется прямым
голосованием его авторов. Мы нередко занимаем различные позиции по разным проблемам, но
придерживаемся общих профессиональных принципов:
</p>
<ol>
<li>
<b>На первое место ставим факты.</b> Наша задача - не судить, а наблюдать и непредвзято
фиксировать происходящее. Все утверждения и выводы, которые мы делаем, подтверждаются
фактами, цифрами, мнениями экспертов или ссылками на авторитетные источники.
</li>
<li>
<b>Ответственно относимся к источникам.</b>
Мы выбираем только надежные источники, проверяем информацию и рассказываем, как и откуда мы
её получили, кроме случаев, когда это может нанести вред источникам. Тогда мы не раскроем
их, даже в суде.
</li>
<li>
<b>Выбираем компетентных и независимых экспертов</b>, понимая всю степень ответственности
перед аудиторией.
</li>
<li>
<b>
Даем возможность высказаться всем заинтересованным сторонам, но не присоединяемся ни к
чьему лагерю.
</b>
Ко всем событиям, компаниям и людям мы относимся с одинаковым скептицизмом.
</li>
<li>
<b>Всегда исправляем ошибки, если мы их допустили.</b>
Никто не безгрешен, иногда и мы ошибаемся. Заметили ошибку - отправьте{' '}
<a href="/about/guide#editing" target="_self">
ремарку
</a>{' '}
автору или напишите нам на{' '}
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
.
</li>
</ol>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default DogmaPage

View File

@ -0,0 +1,275 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { t } from '../../../utils/intl'
export const GuidePage = () => {
const title = t('How it works')
return (
<MainLayout>
{/*<Meta name="description" content={title} />*/}
{/*<Meta name="keywords" content={t('Discours') + ',' + title} />*/}
{/*<Meta property="og:title" content={title} />*/}
{/*<Meta property="og:description" content={title} />*/}
{/*<Meta property="og:image" content="/images/participation.png" />*/}
{/*<Meta property="og:image:width" content="1200" />*/}
{/*<Meta property="og:image:height" content="630" />*/}
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li>
<a href="#how-it-works">{title}</a>
</li>
<li>
<a href="#become-author">Как стать автором журнала</a>
</li>
<li>
<a href="#voting">Как проходит голосование</a>
</li>
<li>
<a href="#editing">Как мы делаем тексты друг друга лучше</a>
</li>
<li>
<a href="#perks">Что сообщество дает авторам</a>
</li>
<li>
<a href="#contacts">Как быть в курсе</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="about">
<span class="wrapped">Как устроен Дискурс</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; независимый журнал о&nbsp;культуре, науке, искусстве и&nbsp;обществе
с&nbsp;<a href="/about/manifest">открытой редакцией</a>. У&nbsp;нас нет главного редактора,
инвестора и&nbsp;вообще никого, кто&nbsp;бы принимал единоличные решения. Вместо
традиционных иерархий Дискурс основан на&nbsp;принципах прямой демократии: в&nbsp;нашем
горизонтальном сообществе все редакционные вопросы решаются открытым голосованием авторов
журнала. Вот как это работает.
</p>
<h3 id="how-it-works">Как устроен сайт Дискурса</h3>
<p>Дискурс состоит из&nbsp;четырех основных разделов:</p>
<ul>
<li>
<p>
<a href="/topics">Темы</a>&nbsp;&mdash; у&nbsp;нас публикуются исследования, обзоры,
эссе, интервью, репортажи, аналитика и&nbsp;другие материалы о&nbsp;культуре, науке,
искусстве и&nbsp;обществе.
</p>
</li>
<li>
<p>
<a href="/topic/art">Искусство</a>&nbsp;&mdash; здесь, например, представлены
художественные произведения: литература, живопись, музыка, фотографии, видео. Этот
раздел помогает прозвучать новому искусству, которое создают российские художники,
писатели, режиссёры и&nbsp;музыканты.
</p>
</li>
{/*
<li>
<p>
<a href="/topic/events">События</a>&nbsp; в&nbsp;этом разделе
публикуются самые важные, по&nbsp;мнению редакции, культурные
события России выставки, лекции, концерты, кинопоказы, фестивали,
художественные и политические&nbsp;акции. Напишите&nbsp;нам
на&nbsp;<a href="mailto:welcome@discours.io" target="_blank">почту</a>, если вы
хотите разместить объявление. Мы делаем&nbsp;это
на&nbsp;безвозмездной основе.
</p>
</li >
<li>
<p>
<a href="/create" class="ng-scope" target="_blank">Редакция</a>&nbsp;
это внутренний раздел, где появляются новые материалы, которые присылают
в&nbsp;редакцию. Здесь авторы обсуждают, редактируют и&nbsp;оценивают
публикации, определяя таким образом содержание журнала.
</p>
</li>
*/}
</ul>
<p>
Материалы в&nbsp;Дискурсе объединяются по&nbsp;<b>темам</b>
&mdash;&nbsp;ключевым словам, которые располагаются в&nbsp;конце материалов и&nbsp;связывают
материалы по&nbsp;жанрам (например,
<a href="/topic/interview">интервью</a>, <a href="/topic/reportage">репортажи</a>,{' '}
<a href="/topic/essay">эссе</a>, <a href="/topic/likbez">ликбезы</a>), по&nbsp;тематике (
<a href="/topic/cinema">кино</a>, <a href="/topic/philosophy">философия</a>,{' '}
<a href="/topic/history">история</a>, <a href="/topic/absurdism">абсурдизм</a>,{' '}
<a href="/topic/sex">секс</a> и&nbsp;т.д.) или в&nbsp;серии (как &laquo;
<a href="/topic/zakony-mira">Законы мира</a>&raquo; или &laquo;
<a href="/topic/za-liniey-mannergeyma">За&nbsp;линией Маннергейма</a>&raquo;). Темы
объединяют сотни публикаций, помогают ориентироваться в&nbsp;журнале и&nbsp;следить
за&nbsp;интересными материалами.
</p>
<section>
<h3 id="become-author">Как стать автором журнала</h3>
<p>
Дискурс объединяет журналистов, активистов, музыкантов, художников, фотографов,
режиссеров, философов, ученых и&nbsp;других замечательных людей. Каждый может{' '}
<a href="/create">прислать</a>
свой материал в&nbsp;журнал. Формат и&nbsp;тематика не&nbsp;имеют значения, единственное,
что важно &mdash; <a href="/how-to-write-a-good-article">хороший</a> ли&nbsp;материал.
Если сообщество поддержит вашу публикацию, она выйдет в&nbsp;журнале и&nbsp;станет
доступна тысячам наших читателей.
</p>
</section>
<h3 id="voting">Как проходит голосование</h3>
<p>
Все присылаемые в&nbsp;Дискурс материалы попадают в&nbsp;
<strong>&laquo;Редакцию&raquo;</strong>. Это внутренний раздел сайта, где участники
сообщества решают, что будет опубликовано в&nbsp;Дискурсе. Как только работа получает
одобрение как минимум пятерых авторов открытой редакции, она немедленно публикуется
в&nbsp;журнале. Если&nbsp;же материал набирает более&nbsp;20% голосов &laquo;против&raquo;,
он&nbsp;не&nbsp;выходит и&nbsp;может быть отправлен на&nbsp;доработку. Жестких сроков
рассмотрения материалов у&nbsp;нас нет, иногда это занимает час, иногда месяц,
обычно&nbsp;&mdash; несколько дней.
</p>
<section>
<p>
Как только сообщество поддержит публикацию, вы&nbsp;получите приглашение
в&nbsp;интернет-редакцию и&nbsp;сможете голосовать за&nbsp;новые материалы.
</p>
</section>
<h3 id="editing">Как мы&nbsp;делаем тексты друг друга лучше</h3>
<p>
Дискурс&nbsp;&mdash; журнал с&nbsp;совместным редактированием. Совершенствовать тексты нам
помогает <b>система ремарок</b>. Вы&nbsp;можете выделить часть текста в&nbsp;любой статье
и&nbsp;оставить к&nbsp;ней замечание, вопрос или предложение&nbsp;&mdash; автор текста
получит совет на&nbsp;почту и&nbsp;сможет его учесть. Так мы&nbsp;устраняем опечатки,
неточности и&nbsp;советуем друг другу, как сделать тексты качественнее и&nbsp;интереснее.
</p>
<p>
Среди участников сообщества есть профессиональные редакторы, которые помогают авторам делать
тексты лучше. Если вашему материалу потребуется доработка, они помогут отредактировать
текст, подобрать иллюстрации, придумать заголовок и&nbsp;красиво сверстать публикацию. Если
вы&nbsp;хотите обсудить текст, прежде чем загрузить материал в
интернет-редакцию&nbsp;&mdash; разместите его в&nbsp;google-документе, откройте доступ
к&nbsp;редактированию по&nbsp;ссылке и&nbsp;напишите нам на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
.
</p>
<p>
Если у&nbsp;вас возникают трудности с&nbsp;тем, чтобы подобрать к&nbsp;своему материалу
иллюстрации, тоже пишите на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">
почту
</a>
&mdash; наши коллеги-художники могут вам помочь{' '}
<a href="/create?collab" target="_blank">
в&nbsp;режиме совместного редактирования
</a>
.
</p>
<h3 id="perks">Что сообщество дает авторам</h3>
<ul>
<li>
<p>
<strong>Право определять, каким будет журнал</strong>. Дискурс&nbsp;&mdash; это
общественная институция, созданная людьми и&nbsp;ради людей, функционирующая
на&nbsp;условиях прямой демократии. Авторы публикуют статьи и&nbsp;художественные
проекты, участвуют в&nbsp;обсуждениях, голосуют за&nbsp;работы коллег и&nbsp;таким
образом вносят свой вклад в&nbsp;развитие проекта, определяя содержание
и&nbsp;направление журнала.
</p>
</li>
<li>
<p>
<strong>Возможность обратиться к&nbsp;широкой аудитории</strong>. Дискурс читают десятки
тысяч людей, и&nbsp;с&nbsp;каждым днем их&nbsp;становится больше.
</p>
</li>
<li>
<p>
<strong>Поддержка редакции</strong>. Дискурс предоставляет авторам аккредитацию
на&nbsp;мероприятия, базу контактов, юридическую поддержку, ознакомление
с&nbsp;книжными, кино- и&nbsp;музыкальными новинками до&nbsp;их&nbsp;выхода в&nbsp;свет.
Если что-то из&nbsp;этого вам понадобится, пишите на&nbsp;почту{' '}
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
&nbsp;&mdash; поможем.
</p>
</li>
<li>
<p>
<strong>Пресс-карты для корреспондентов</strong>. Три опубликованные статьи позволяют
авторам Дискурса получить официальные удостоверения журналистов (пресс-карты)
на&nbsp;следующий год. Пресс-карты удостоверяют, что вы&nbsp;журналист и&nbsp;можете
пользоваться всеми теми правами, которые гарантирует Закон о&nbsp;СМИ. Кроме того,
многие культурные институции (музеи, галереи и&nbsp;др.) предоставляют журналистам право
свободного входа.
</p>
</li>
<li>
<p>
<strong>Помощь сотен специалистов в&nbsp;разных областях</strong>. В&nbsp;основе
Дискурса лежит идея совместного редактирования. Участники редакционного
сообщества&nbsp;&mdash; несколько сотен журналистов, исследователей, художников,
литераторов из&nbsp;разных стран &mdash; изучают материалы друг друга до&nbsp;публикации
и&nbsp;помогают сделать их&nbsp;качественнее и&nbsp;интереснее. Так, в&nbsp;редакции
нередко складываются творческие союзы: например, авторов текстов и&nbsp;художников,
создающих для них иллюстрации.
</p>
</li>
<li>
<p>
<strong>Пространство общения полное выдающихся людей</strong>. Дискурс&nbsp;&mdash;
большое живое сообщество интеллектуалов, разбросанных по&nbsp;всему земному шару.
Вступив в&nbsp;редакцию, вы&nbsp;сможете познакомиться со&nbsp;множеством интересных
людей, которые определяют повестку завтрашнего дня, вдохновляют окружающих, создают
новое и&nbsp;изучают старое, ищут знания и&nbsp;готовы ими делиться, чтобы менять мир
в&nbsp;соответствии со&nbsp;своими идеалами.
</p>
</li>
</ul>
<h3 id="contacts">Как быть в&nbsp;курсе</h3>
<p>
За&nbsp;свежими публикациями Дискурса можно следить не&nbsp;только на&nbsp;сайте,
но&nbsp;и&nbsp;на&nbsp;страницах в&nbsp;
<a href="https://facebook.com/discoursio/" target="_blank">
Фейсбуке
</a>
,{' '}
<a href="https://vk.com/discoursio" target="_blank">
ВКонтакте
</a>{' '}
и&nbsp;
<a href="https://t.me/discoursio" target="_blank">
Телеграме
</a>
. А&nbsp;ещё раз в&nbsp;месяц мы&nbsp;отправляем <a href="#subscribe">почтовую рассылку</a>{' '}
с&nbsp;дайджестом лучших материалов.
</p>
<p>
Если вы&nbsp;хотите сотрудничать, что-то обсудить или предложить &mdash; пожалуйста, пишите
на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
. Мы&nbsp;обязательно ответим.
</p>
</div>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default GuidePage

View File

@ -0,0 +1,152 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { Donate } from '../../Discours/Donate'
// const title = t('Support us')
export const HelpPage = () => {
return (
<MainLayout>
{/*<Meta name="description">Здесь можно поддержать Дискурс материально.</Meta>*/}
{/*<Meta name="keywords">Discours.io, помощь, благотворительность</Meta>*/}
{/*<Modal name="thank">Благодарим!</Modal>*/}
<article class="container discours-help">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li>
<a href="#help-us">Как вы&nbsp;можете поддержать Дискурс?</a>
</li>
<li>
<a href="#financial-report">На&nbsp;что пойдут деньги?</a>
</li>
<li>
<a href="#trustee">Войдите в&nbsp;попечительский совет Дискурса</a>
</li>
<li>
<a href="#other">Как ещё можно поддержать Дискурс?</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="help-us">
<span class="wrapped">Как вы&nbsp;можете поддержать Дискурс?</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; уникальное независимое издание с&nbsp;горизонтальной редакцией,
существующее в&nbsp;интересах своих читателей. Ваша поддержка действительно много
значит&nbsp;&mdash; не&nbsp;только для редакции Дискурса, но&nbsp;и&nbsp;для сохранения
свободной мысли и&nbsp;некоммерческого искусства в&nbsp;нашем обществе.
</p>
<p>
Дискурс существует на&nbsp;добровольных началах. Никакой медиахолдинг, фонд или
государственная структура не&nbsp;финансирует нас&nbsp;&mdash; благодаря этому мы&nbsp;можем
писать о&nbsp;том, что важно, а&nbsp;не&nbsp;о&nbsp;том, что выгодно. Сообщество наших
волонтеров ежедневно трудится, чтобы рассказывать вам интересные, не&nbsp;освещенные другими
изданиями истории&nbsp;&mdash; но&nbsp;мы&nbsp;не&nbsp;сможем делать это без вашей помощи.
Пожертвования читателей составляют основу нашего бюджета и&nbsp;позволяют нам существовать.
</p>
<p>
Если вам нравится&nbsp;то, что мы&nbsp;делаем и&nbsp;вы&nbsp;хотите, чтобы Дискурс
продолжался, пожалуйста, поддержите проект.
</p>
<div class="row">
<div class="col-sm-11 col-md-12">
<Donate />
</div>
</div>
<h3 id="financial-report">На&nbsp;что пойдут деньги?</h3>
<p>
Ваши пожертвования пойдут на&nbsp;оплату серверов, содержание офиса, зарплату редакции
и&nbsp;налоги, оплату юридического сопровождения и&nbsp;труда бухгалтера, совершенствование
сайта, аренду помещения для открытой редакции, на&nbsp;печать альманаха Дискурс
с&nbsp;лучшими текстами авторов за&nbsp;полгода, а&nbsp;также на&nbsp;другие редакционные
и&nbsp;технические расходы.
</p>
<h3>Ваша помощь позволит нам</h3>
<ul>
<li>
<h4>Оставаться бесплатным изданием.</h4>
<p>
Мы&nbsp;делаем открытый журнал для всех желающих, а&nbsp;также собираем искусство лучших
авторов по&nbsp;всему миру. Ваша поддержка позволяет нам становиться лучше.
</p>
</li>
<li>
<h4>Создавать еще больше контента.</h4>
<p>
Каждый день к&nbsp;нам присоединяются новые люди, и&nbsp;чем больше нас становится, тем
больше мы&nbsp;творим и&nbsp;строже оцениваем результаты творчества друг друга.
В&nbsp;результате повышается и&nbsp;количество, и&nbsp;качество контента. Каждый день мы
трудимся, чтобы открывать нашим читателям новые грани окружающего мира.
</p>
</li>
<li>
<h4>Развивать форматы и&nbsp;расширять деятельность Дискурса.</h4>
<p>
Мы&nbsp;создаем различные спецпроекты и&nbsp;регулярно проводим необычные мероприятия.
Мы&nbsp;хотим приносить пользу человечеству всеми возможными способами.
</p>
</li>
<li>
<h4>Модернизировать сайт.</h4>
<p>
Мы&nbsp;совершенствуем платформу и&nbsp;стараемся сделать проект максимально удобным для
вас. Мы&nbsp;работаем над мобильной версией, новым дизайном, фукционалом, системой
регистрации, навигации и&nbsp;рекомендаций, которые сделают наше общение еще
увлекательней.
</p>
</li>
<li>
<h4>Выпускать альманах.</h4>
<p>
Выпускать раз в&nbsp;полугодие печатный альманах Дискурс с&nbsp;33&nbsp;лучшими текстами
сайта.
</p>
</li>
<li>
<h4>Захватить весь мир</h4>
<p>и&nbsp;принести &laquo;Дискурс&raquo; в&nbsp;каждый дом.</p>
</li>
</ul>
<h3 id="trustee">Войдите в&nbsp;попечительский совет Дискурса</h3>
<p>
Вы&nbsp;хотите сделать крупное пожертвование? Станьте попечителем Дискурса &mdash;
<a class="black-link" href="mailto:welcome@discours.io" target="_blank">
напишите нам
</a>
, мы&nbsp;будем рады единомышленникам.
</p>
<h3 id="other">Как ещё можно поддержать Дискурс?</h3>
<p>
Есть много других способов поддержать Дискурс и&nbsp;труд наших авторов. Например,
вы&nbsp;можете периодически рассказывать о&nbsp;проекте своим друзьям в&nbsp;соцсетях,
делиться хорошими материалами или&nbsp;&mdash; что еще лучше&nbsp;&mdash; публиковать свои
статьи в&nbsp;&laquo;Дискурсе&raquo;. Но&nbsp;главное, что вы&nbsp;можете сделать для
Дискурса, &mdash; читать нас. Мы&nbsp;вкладываем в&nbsp;журнал душу, и&nbsp;внимание каждого
читателя убеждает нас в&nbsp;правильности выбранного пути. Не&nbsp;переключайтесь.
</p>
<p>
Если вы&nbsp;хотите помочь проекту, но&nbsp;у&nbsp;вас возникли вопросы, напишите нам письмо
по&nbsp;адресу{' '}
<a class="black-link" href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
.
</p>
</div>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default HelpPage

View File

@ -0,0 +1,162 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { Modal } from '../../Nav/Modal'
import { Feedback } from '../../Discours/Feedback'
import Subscribe from '../../Discours/Subscribe'
import Opener from '../../Nav/Opener'
// title={t('Manifest')}
export const ManifestPage = () => {
return (
<MainLayout>
<Modal name="feedback">
<Feedback />
</Modal>
<Modal name="subscribe">
<Subscribe />
</Modal>
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li>
<a href="#manifest">Манифест</a>
</li>
<li>
<a href="#participation">Как участвовать в&nbsp;самиздате</a>
<ul class="nodash">
<li>
<a href="#contribute">Предлагать материалы</a>
</li>
<li>
<a href="#donate">Поддерживать проект</a>
</li>
<li>
<a href="#cooperation">Сотрудничать с&nbsp;журналом</a>
</li>
<li>
<a href="#follow">Как еще можно помочь</a>
</li>
</ul>
</li>
<li>
<a href="#connection">Будем на&nbsp;связи</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="manifest">
<span class="wrapped">Манифест</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс - независимый художественно-аналитический журнал с горизонтальной редакцией,
основанный на принципах свободы слова, прямой демократии и совместного редактирования.
Дискурс создаётся открытым медиасообществом ученых, журналистов, музыкантов, писателей,
предпринимателей, философов, инженеров, художников и специалистов со всего мира,
объединившихся, чтобы вместе делать общий журнал и объяснять с разных точек зрения мозаичную
картину современности.
</p>
<p>
Мы пишем о культуре, науке и обществе, рассказываем о новых идеях и современном искусстве,
публикуем статьи, исследования, репортажи, интервью людей, чью прямую речь стоит услышать, и
работы художников из разных стран - от фильмов и музыки до живописи и фотографии. Помогая
друг другу делать публикации качественнее и общим голосованием выбирая лучшие материалы для
журнала, мы создаём новую горизонтальную журналистику, чтобы честно рассказывать о важном и
интересном.
</p>
<p>
Редакция Дискурса открыта для всех: у нас нет цензуры, запретных тем и идеологических рамок.
Каждый может
<a href="/create">прислать материал</a> в журнал и{' '}
<a href="/about/guide">присоединиться к редакции</a>. Предоставляя трибуну для независимой
журналистики и художественных проектов, мы помогаем людям рассказывать свои истории так,
чтобы они были услышаны. Мы убеждены: чем больше голосов будет звучать на Дискурсе, тем
громче в полифонии мнений будет слышна истина.
</p>
</div>
<h2 class="h2" id="participation">
<span class="wrapped">Как участвовать в&nbsp;самиздате</span>
</h2>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс создается <a href="/about/guide">открытым сообществом</a> энтузиастов новой
независимой журналистики. Участвовать в открытой редакции и помогать журналу можно
следующими способами:
</p>
<h3 id="contribute">Предлагать материалы</h3>
<p>
<a href="/create">Создавайте</a> свои статьи и художественные работы - лучшие из них будут
опубликованы в журнале. Дискурс - некоммерческое издание, авторы публикуются в журнале на
общественных началах, получая при этом <a href="/create?collab=true">поддержку</a> редакции,
право голоса, множество других возможностей и читателей по всему миру.
</p>
<h3 id="donate">Поддерживать проект</h3>
<p>Дискурс существует на пожертвования читателей. Если вам нравится журнал, пожалуйста,</p>
<p>
<a href="/about/help">поддержите</a> нашу работу. Ваши пожертвования пойдут на выпуск новых
материалов, оплату серверов, труда программистов, дизайнеров и редакторов.
</p>
<h3 id="cooperation">Сотрудничать с журналом</h3>
<p>
Мы всегда открыты для сотрудничества и рады единомышленникам. Если вы хотите помогать
журналу с редактурой, корректурой, иллюстрациями, переводами, версткой, подкастами,
мероприятиями, фандрайзингом или как-то ещё - скорее пишите нам на{' '}
<a href="mailto:welcome@discours.io">welcome@discours.io</a>.
</p>
<p>
Если вы представляете некоммерческую организацию и хотите сделать с нами совместный проект,
получить информационную поддержку или предложить другую форму сотрудничества -
[пишите](mailto:welcome@discours.io).
</p>
<p>
Если вы разработчик и хотите помогать с развитием сайта Дискурса,
<a href="mailto:services@discours.io">присоединяйтесь к IT-команде самиздата</a>. Открытый
код платформы для независимой журналистики, а также всех наших спецпроектов и
медиаинструментов находится
<a href="https://github.com/Discours">в свободном доступе на GitHub</a>.
</p>
<h3 id="follow">Как еще можно помочь</h3>
<p>
Советуйте Дискурс друзьям и знакомым. Обсуждайте и распространяйте наши публикации все
материалы открытой редакции можно читать и перепечатывать бесплатно. Подпишитесь на самиздат
<a href="https://vk.com/discoursio">ВКонтакте</a>, в{' '}
<a href="https://facebook.com/discoursio">Фейсбуке</a> и в
<a href="https://t.me/discoursio">Телеграме</a>, а также на{' '}
<Opener name="subscribe">рассылку лучших материалов</Opener> , чтобы не пропустить ничего
интересного.
</p>
<p>
<a href="https://forms.gle/9UnHBAz9Q3tjH5dAA">Рассказывайте о впечатлениях</a> от материалов
открытой редакции,
<Opener name="feedback">делитесь идеями</Opener>, интересными темами, о которых хотели бы
узнать больше, и историями, которые нужно рассказать.
</p>
</div>
<h2 class="h2" id="connection">
<span class="wrapped">Будем на&nbsp;связи</span>
</h2>
<div class="col-lg-10 offset-md-1">
Если вы хотите предложить материал, сотрудничать, рассказать о проблеме, которую нужно
осветить, сообщить об ошибке или баге, что-то обсудить, уточнить или посоветовать, пожалуйста,{' '}
<Opener name="feedback">напишите нам здесь</Opener>
или на почту <a href="mailto:welcome@discours.io">welcome@discours.io</a>. Мы обязательно
ответим и постараемся реализовать все хорошие задумки.
</div>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default ManifestPage

View File

@ -0,0 +1,20 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { t } from '../../../utils/intl'
// const title = t('Partners')
export const PartnersPage = () => {
return (
<MainLayout>
<article class="container">
<div class="row">
<div class="col-md-8 offset-md-2">{t('Partners')}</div>
<div class="col-md-8 col-lg-6 offset-md-3" />
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default PartnersPage

View File

@ -0,0 +1,20 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { t } from '../../../utils/intl'
// title={t('Projects')}>
export const ProjectsPage = () => {
return (
<MainLayout>
<article class="container">
<div class="row">
<div class="col-md-8 offset-md-2">{t('Projects')}</div>
<div class="col-md-8 col-lg-6 offset-md-3" />
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default ProjectsPage

View File

@ -0,0 +1,270 @@
import { MainLayout } from '../../Layouts/MainLayout'
// const title = t('Terms of use')
export const TermsOfUsePage = () => {
return (
<MainLayout>
{/*<Meta name="description" content={title} />*/}
{/*<Meta name="keywords" content={`Discours.io, ${t('Terms of use')}, ${t('Terms of use', 'en')}`} />*/}
{/*<Meta property="og:title" content={title} />*/}
{/*<Meta property="og:description" content={title} />*/}
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li>
<a href="#terms-of-use">Пользовательское соглашение</a>
</li>
<li>
<a href="#definitions">Определения</a>
</li>
<li>
<a href="#copyright">Авторские права</a>
</li>
<li>
<a href="#rules">Правила поведения</a>
</li>
<li>
<a href="#privacy-policy">Политика конфиденциальности</a>
</li>
<li>
<a href="#feedback">Обратная связь</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="terms-of-use">
<span class="wrapped">Пользовательское соглашение</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; это сообщество творческих людей, объединенных идеей делать интересный
журнал для всех желающих. Авторы Дискурса сообща посредством прямого голосования определяют
содержание журнала.
</p>
<p>Для того, чтобы Дискурс работал без помех, разработаны настоящие Правила.</p>
<h3 id="definitions">Определения</h3>
<p>
<strong>Сайт</strong>&nbsp;&mdash; портал discours.io
</p>
<p>
<strong>Пользователь</strong>&nbsp;&mdash; лицо, пользующееся Сайтом, либо юридическое лицо,
обладающее правами на&nbsp;интеллектуальную собственность.
</p>
<p>
<strong>Публикация контента</strong>&nbsp;&mdash; размещение Пользователем посредством Сайта
объектов авторских прав и&nbsp;другой информации для других пользователей.
</p>
<p>
<strong>Издательство</strong>&nbsp;&mdash; администрация сайта, которая занимается
технической и&nbsp;издательской деятельностью для обеспечения функционирования Сайта
и&nbsp;Альманаха. Издательство не&nbsp;вмешивается в&nbsp;принятие редакционных решений
авторским сообществом.
</p>
<p>
<strong>Альманах &laquo;Дискурс&raquo;</strong> (свидетельство о&nbsp;регистрации СМИ: ПИ
&#8470; ФС77-63947 от&nbsp;18.12.15)&nbsp;&mdash; печатное периодическое издание, которое
выходит раз в&nbsp;год и&nbsp;состоит из&nbsp;лучших публикаций на&nbsp;Сайте за&nbsp;это
время.
</p>
<h3 id="copyright">Авторские права</h3>
<ol>
<li>
<p>
Вся информация на&nbsp;сайте (включая тексты, изображения, видеоматериалы, аудиозаписи,
программный код, дизайн сайта и&nbsp;т.д.) является объектом интеллектуальной
собственности ее&nbsp;правообладателей и&nbsp;охраняется законодательством РФ.
</p>
</li>
<li>
<p>
Публикуя контент на&nbsp;сайте, Пользователь на&nbsp;безвозмездной основе предоставляет
Издательству право на&nbsp;воспроизведение, распространение, перевод, редактирование
контента. Данное право предоставляется Издательству на&nbsp;весь срок действия авторских
прав Пользователя.
</p>
</li>
<li>
<p>
Пользователь предоставляет Издательству право редактировать контент, в&nbsp;том числе
вносить в&nbsp;него изменения, сокращения и&nbsp;дополнения, снабжать его иллюстрациями
и&nbsp;пояснениями, исправлять ошибки и&nbsp;уточнять фактические сведения, при условии,
что этим не&nbsp;искажается авторский замысел.
</p>
</li>
<li>
<p class="ng-binding">
Обнародование контента осуществляется Издательством в&nbsp;соответствии с&nbsp;условиями
лицензии{' '}
<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.ru" target="_blank">
Creative Commons BY-NC-ND 4.0
</a>
. Все материалы сайта предназначены исключительно для личного некоммерческого
использования. Права на&nbsp;дизайн и&nbsp;программный код сайта принадлежат
Издательству.
</p>
</li>
<li>
<p class="ng-binding">
Все аудиовизуальные произведения являются собственностью своих авторов
и&nbsp;правообладателей и&nbsp;используются только в&nbsp;образовательных
и&nbsp;информационных целях. Если вы&nbsp;являетесь собственником того или иного
произведения и&nbsp;не&nbsp;согласны с&nbsp;его размещением на&nbsp;сайте, пожалуйста,
напишите на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
.
</p>
</li>
<li>
<p>
Цитирование, распространение, доведение до&nbsp;всеобщего сведения материалов Cайта
приветствуется. При использовании материалов сайта необходимо указать имя автора
и&nbsp;активную ссылку на&nbsp;материал на&nbsp;Сайте.
</p>
</li>
</ol>
<h3 id="rules">Правила поведения</h3>
<ol>
<li>
<p>
Находясь на&nbsp;Сайте, Пользователь подтверждает свое совершеннолетие,
правоспособность, а&nbsp;также согласие с&nbsp;настоящими Правилами и&nbsp;политикой
конфиденциальности и&nbsp;готовность нести полную ответственность за&nbsp;их соблюдение.
</p>
</li>
<li>
<h4>На&nbsp;сайте запрещено:</h4>
<ul>
<li>
Публиковать контент, авторские права на&nbsp;который принадлежат третьим лицам, без
согласия этих лиц. Если авторские права на контент принадлежат нескольким лицам,
то&nbsp;его публикация предполагает согласие их&nbsp;всех.
</li>
<li>Размещать коммерческую и&nbsp;политическую рекламу.</li>
<li>
Целенаправленно препятствовать нормальному функционированию сообщества и&nbsp;сайта
discours.io
</li>
<li>Выдавать себя за&nbsp;другого человека и&nbsp;представляться его именем.</li>
<li>
Размещать информацию, которая не&nbsp;соответствует целям создания Сайта, ущемляет
интересы других пользователей или третьих лиц, нарушает законы Российской Федерации.
</li>
</ul>
</li>
<li>
<p>
Пользователь несет всю ответственность за&nbsp;содержание публикуемого контента
и&nbsp;свое взаимодействие с&nbsp;другими пользователями, и&nbsp;обязуется возместить
все расходы в&nbsp;случае предъявления каких-либо претензий третьими лицами.
Издательство не&nbsp;несет ответственности за&nbsp;содержание публикуемой пользователями
информации, в&nbsp;том числе за&nbsp;размещенные на&nbsp;сайте комментарии. Переписка
между Пользователем и&nbsp;Издательством считается юридически значимой. Настоящие
Правила могут быть изменены Издательством, изменения вступают в&nbsp;силу с&nbsp;момента
публикации на&nbsp;Сайте.
</p>
</li>
<li>
<p>
Если Пользователь очевидно и&nbsp;целенаправленно нарушает правила, Издательство может
и&nbsp;принять в&nbsp;отношении автора следующие меры: вынести предупреждение
и&nbsp;обязать автора устранить допущенное нарушение, удалить контент, нарушающий
правила, заблокировать или удалить аккаунт нарушителя.
</p>
</li>
</ol>
<h3 id="privacy-policy">Политика конфиденциальности</h3>
<ol>
<li>
<p>Сайт может собирать у&nbsp;пользователей следующие данные:</p>
<ul>
<li>
<p>
Данные, которые пользователи сообщают о&nbsp;себе сами при подаче заявки,
регистрации, авторизации или заполнения профиля, в&nbsp;том числе ФИО
и&nbsp;контактную информацию. Конфиденциальные данные, такие как идентификатор
и&nbsp;электронный адрес, используются для идентификации пользователя. Данные
профиля, размещённые публично по&nbsp;желанию пользователя, которое выражается
фактом их&nbsp;предоставления, используется для демонстрации другим пользователям
той информации о&nbsp;себе, которую пользователь готов предоставить.
</p>
</li>
<li>
<p>
Данные, собранные автоматическим путем, такие, как cookie-файлы. Эти
неперсонализированные данные могут использоваться для сбора статистики
и&nbsp;улучшения работы сайта.
</p>
</li>
</ul>
</li>
<li>
<p>
Издательство обеспечивает конфиденциальность персональных данных и&nbsp;применяет все
необходимые организационные и&nbsp;технические меры по&nbsp;их защите.
</p>
</li>
<li>
<p class="ng-binding">
По&nbsp;желанию пользователя Издательство готово удалить любую информацию о&nbsp;нем,
собранную автоматическим путем. Для этого следует написать на&nbsp;адрес электронной
почты{' '}
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>
.
</p>
</li>
<li>
<p>
Если в&nbsp;информации, предоставляемой Издательству Пользователем, содержатся
персональные данные последнего, то&nbsp;фактом их&nbsp;предоставления он соглашается
на&nbsp;их&nbsp;обработку любым способом, не&nbsp;запрещенным законодательством РФ.
</p>
<p class="ng-binding">
Общедоступные видео на&nbsp;сайте могут транслироваться с&nbsp;YouTube
и&nbsp;регулируются{' '}
<a href="https://policies.google.com/privacy" target="_blank">
политикой конфиденциальности Google
</a>
. Загрузка видео на&nbsp;сайт также означает согласие с&nbsp;
<a href="https://www.youtube.com/t/terms" target="_blank">
Условиями использования YouTube
</a>
.
</p>
</li>
<li>
<p>
Данные, которые мы&nbsp;получаем от&nbsp;вас, мы&nbsp;используем только
в&nbsp;соответствии с&nbsp;принципами обработки данных, указанными в&nbsp;этом
документе.
</p>
</li>
</ol>
<h3 id="feedback">Обратная связь</h3>
<p class="ng-binding">
Любые вопросы и&nbsp;предложения по&nbsp;поводу функционирования сайта можно направить
по&nbsp;электронной почте{' '}
<a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>{' '}
или через форму <a href="/feedback-idea">&laquo;предложить идею&raquo;</a>.
</p>
</div>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default TermsOfUsePage

View File

@ -0,0 +1,97 @@
import { MainLayout } from '../../Layouts/MainLayout'
import { t } from '../../../utils/intl'
export const ThanksPage = () => {
const title = t('Thank you')
return (
<MainLayout>
{/*<Meta name="description" content={title} />*/}
{/*<Meta name="keywords" content={`Discours.io, ${title}, ${t('Thank you', 'en')}`} />*/}
{/*<Meta property="og:title" content={title} />*/}
{/*<Meta property="og:description" content={title} />*/}
<article class="container">
<div class="container open-post margin-top-20px ng-scope">
<div class="row">
<div class="col-md-8 offset-md-2">
<h1>
<span class="wrapped">{title}</span>
</h1>
</div>
<div class="col-md-8 col-lg-6 offset-md-3">
{/*
<h3><b>Команда</b></h3>
<p>
Константин Ворович исполнительный директор,
<a href="mailto:welcome@discours.io" target="_blank"
>welcome@discours.io</a
><br />
Александр Гусев технический архитектор,
<a href="mailto:services@discours.io" target="_blank"
>services@discours.io</a
><br />
Екатерина Ильина шеф-редактор проекта,
<a href="mailto:letter@discours.io" target="_blank"
>letter@discours.io</a
><br />
Яна Климова редактор сайта и соцсетей,
<a href="mailto:letter@discours.io" target="_blank"
>letter@discours.io</a
><br />
Николай Носачевский голос и душа подкаста,
<a href="mailto:podcast@discours.io" target="_blank"
>podcast@discours.io</a
>
</p>
*/}
<h3>Неоценимый вклад в&nbsp;Дискурс внесли и&nbsp;вносят</h3>
<p>
Мария Бессмертная, Дамир Бикчурин, Константин Ворович, Ян&nbsp;Выговский, Эльдар Гариффулин,
Павел Гафаров, Виктория Гендлина, Александр Гусев, Данила Давыдов, Константин Дубовик,
Вячеслав Еременко, Кристина Ибрагим, Екатерина Ильина, Анна Капаева, Яна Климова, Александр
Коренков, Ирэна Лесневская, Игорь Лобанов, Анастасия Лозовая, Григорий Ломизе, Евгений
Медведев, Павел Никулин, Николай Носачевский, Андрей Орловский, Михаил Панин, Антон Панов,
Павел Пепперштейн, Любовь Покровская, Илья Розовский, Денис Светличный, Павел Соколов,
Сергей Стрельников, Глеб Струнников, Николай Тарковский, Кирилл Филимонов, Алексей Хапов,
Екатерина Харитонова
</p>
<h3>Авторы</h3>
<p>
Мы&nbsp;безмерно благодарны{' '}
<a href="/authors" target="_blank" rel="noopener noreferrer">
каждому автору
</a>{' '}
за&nbsp;участие и&nbsp;поддержку проекта. Сегодня, когда для большинства деньги стали целью
и&nbsp;основным источником мотивации, бескорыстная помощь и&nbsp;основанный
на&nbsp;энтузиазме труд бесценны. Именно вы&nbsp;своим трудом каждый день делаете Дискурс
таким, какой он&nbsp;есть.
</p>
<h3>Иллюстраторы</h3>
<p>
Ольга Аверинова, Регина Акчурина, Айгуль Берхеева, Екатерина Вакуленко, Анастасия Викулова,
Мария Власенко, Ванесса Гаврилова, Ольга Горше, Ксения Горшкова, Ангелина Гребенюкова, Илья
Diliago, Антон Жаголкин, Саша Керова, Ольга Машинец, Злата Мечетина, Тала Никитина, Никита
Поздняков, Матвей Сапегин, Татьяна Сафонова, Виктория Шибаева
</p>
<h3>Меценаты</h3>
<p>
Дискурс существует исключительно на&nbsp;пожертвования читателей. Мы&nbsp;бесконечно
признательны всем, кто нас поддерживает. Ваши пожертвования&nbsp;&mdash; финансовый
фундамент журнала. Благодаря вам мы&nbsp;развиваем платформу качественной журналистики,
которая помогает самым разным авторам быть услышанными. Стать нашим меценатом
и&nbsp;подписаться на&nbsp;ежемесячную поддержку проекта можно{' '}
<a href="/about/help" target="_self">
здесь
</a>
.
</p>
</div>
</div>
</div>
</article>
</MainLayout>
)
}
// for lazy loading
export default ThanksPage

View File

@ -29,6 +29,15 @@ const FeedPage = lazy(() => import('./Pages/FeedPage'))
const ArticlePage = lazy(() => import('./Pages/ArticlePage'))
const SearchPage = lazy(() => import('./Pages/SearchPage'))
const FourOuFourPage = lazy(() => import('./Pages/FourOuFourPage'))
const DogmaPage = lazy(() => import('./Pages/about/DogmaPage'))
const GuidePage = lazy(() => import('./Pages/about/GuidePage'))
const HelpPage = lazy(() => import('./Pages/about/HelpPage'))
const ManifestPage = lazy(() => import('./Pages/about/ManifestPage'))
const PartnersPage = lazy(() => import('./Pages/about/PartnersPage'))
const ProjectsPage = lazy(() => import('./Pages/about/ProjectsPage'))
const TermsOfUsePage = lazy(() => import('./Pages/about/TermsOfUsePage'))
const ThanksPage = lazy(() => import('./Pages/about/ThanksPage'))
const log = getLogger('root')
@ -40,7 +49,15 @@ const pagesMap: Record<keyof Routes, Component<PageProps>> = {
author: AuthorPage,
feed: FeedPage,
article: ArticlePage,
search: SearchPage
search: SearchPage,
dogma: DogmaPage,
guide: GuidePage,
help: HelpPage,
manifest: ManifestPage,
projects: ProjectsPage,
partners: PartnersPage,
termsOfUse: TermsOfUsePage,
thanks: ThanksPage
}
export const Root = (props: PageProps) => {
@ -53,7 +70,7 @@ export const Root = (props: PageProps) => {
// log.debug('page', getPage())
if (!result) {
if (!result || getPage().path === '/404') {
return FourOuFourPage
}

View File

@ -1,28 +0,0 @@
---
import '../styles/app.scss'
import { useStore } from '@nanostores/solid'
import { Suspense } from 'solid-js'
import { Header } from '../components/Nav/Header'
import { locale as langstore } from '../stores/ui'
import { t } from '../utils/intl'
const { title } = Astro.params
const locale = useStore(langstore)
---
<html lang={locale() || 'ru'}>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/png" href="/favicon.png" />
<title>{t('Discours') + ':' + title}</title>
</head>
<body>
<main class="content">
<Suspense>
<Header />
<slot />
</Suspense>
</main>
</body>
</html>

View File

@ -1,15 +1,9 @@
---
import { initRouter } from '../stores/router'
import '../styles/app.scss'
import { t } from '../utils/intl'
const { pathname, search, searchParams } = Astro.url
const lang = searchParams.get('lang')
initRouter(pathname, search)
const lang = Astro.url.searchParams.get('lang')
---
<!DOCTYPE html>
<html lang={lang || 'ru'}>
<head>
<meta charset="utf-8" />
@ -22,3 +16,4 @@ initRouter(pathname, search)
</body>
</html>

View File

@ -1,11 +1,14 @@
---
// TODO: sync with client router
import About from '../layouts/about.astro'
import { FourOuFourView } from '../components/Views/FourOuFour'
import Zine from '../layouts/zine.astro'
import { Root } from '../components/Root'
import { initRouter } from '../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About>
<FourOuFourView />
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -2,6 +2,7 @@
import { Root } from '../components/Root'
import Zine from '../layouts/zine.astro'
import { apiClient } from '../utils/apiClient'
import { initRouter } from '../stores/router'
const slug = Astro.params.slug?.toString() || ''
@ -15,6 +16,9 @@ if (!article) {
return Astro.redirect('/404')
}
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---

View File

@ -1,55 +1,14 @@
---
import { t } from '../../utils/intl'
import About from '../../layouts/about.astro'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={t('Dogma')}>
<article class="container">
<div class="row">
<h4 class="col-md-8 offset-md-2">Редакционные принципы</h4>
<div class="col-md-8 col-lg-6 offset-md-3">
<p>
Дискурс - журнал с открытой горизонтальной редакцией. Содержание журнала определяется прямым
голосованием его авторов. Мы нередко занимаем различные позиции по разным проблемам, но
придерживаемся общих профессиональных принципов:
</p>
<ol>
<li>
<b>На первое место ставим факты.</b> Наша задача - не судить, а наблюдать и непредвзято фиксировать
происходящее. Все утверждения и выводы, которые мы делаем, подтверждаются фактами, цифрами, мнениями
экспертов или ссылками на авторитетные источники.
</li>
<li>
<b>Ответственно относимся к источникам.</b>
Мы выбираем только надежные источники, проверяем информацию и рассказываем, как и откуда мы её получили,
кроме случаев, когда это может нанести вред источникам. Тогда мы не раскроем их, даже в суде.
</li>
<li>
<b>Выбираем компетентных и независимых экспертов</b>, понимая всю степень ответственности перед
аудиторией.
</li>
<li>
<b>
Даем возможность высказаться всем заинтересованным сторонам, но не присоединяемся ни к чьему
лагерю.
</b>
Ко всем событиям, компаниям и людям мы относимся с одинаковым скептицизмом.
</li>
<li>
<b>Всегда исправляем ошибки, если мы их допустили.</b>
Никто не безгрешен, иногда и мы ошибаемся. Заметили ошибку - отправьте <a
href="/about/guide#editing"
target="_self"
>
ремарку
</a> автору или напишите нам на <a href="mailto:welcome@discours.io" target="_blank">
welcome@discours.io
</a>.
</li>
</ol>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,242 +1,14 @@
---
import { Meta } from '@solidjs/meta'
import { t } from '../../utils/intl'
import About from '../../layouts/about.astro'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const title = t('How it works')
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={title}>
<Meta name="description" content={title} />
<Meta name="keywords" content={t('Discours') + ',' + title} />
<Meta property="og:title" content={title} />
<Meta property="og:description" content={title} />
<Meta property="og:image" content="/images/participation.png" />
<Meta property="og:image:width" content="1200" />
<Meta property="og:image:height" content="630" />
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li><a href="#how-it-works">{title}</a></li>
<li><a href="#become-author">Как стать автором журнала</a></li>
<li><a href="#voting">Как проходит голосование</a></li>
<li><a href="#editing">Как мы делаем тексты друг друга лучше</a></li>
<li><a href="#perks">Что сообщество дает авторам</a></li>
<li><a href="#contacts">Как быть в курсе</a></li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="about">
<span class="wrapped">Как устроен Дискурс</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; независимый журнал о&nbsp;культуре, науке, искусстве и&nbsp;обществе
с&nbsp;<a href="/about/manifest">открытой редакцией</a>. У&nbsp;нас нет главного редактора,
инвестора и&nbsp;вообще никого, кто&nbsp;бы принимал единоличные решения. Вместо традиционных
иерархий Дискурс основан на&nbsp;принципах прямой демократии: в&nbsp;нашем горизонтальном
сообществе все редакционные вопросы решаются открытым голосованием авторов журнала. Вот как это
работает.
</p>
<h3 id="how-it-works">Как устроен сайт Дискурса</h3>
<p>Дискурс состоит из&nbsp;четырех основных разделов:</p>
<ul>
<li>
<p>
<a href="/topics">Темы</a>&nbsp;&mdash; у&nbsp;нас публикуются исследования, обзоры, эссе,
интервью, репортажи, аналитика и&nbsp;другие материалы о&nbsp;культуре, науке, искусстве
и&nbsp;обществе.
</p>
</li>
<li>
<p>
<a href="/topic/art">Искусство</a>&nbsp;&mdash; здесь, например, представлены художественные
произведения: литература, живопись, музыка, фотографии, видео. Этот раздел помогает
прозвучать новому искусству, которое создают российские художники, писатели, режиссёры
и&nbsp;музыканты.
</p>
</li>
{
/*
<li>
<p>
<a href="/topic/events">События</a>&nbsp;— в&nbsp;этом разделе
публикуются самые важные, по&nbsp;мнению редакции, культурные
события России — выставки, лекции, концерты, кинопоказы, фестивали,
художественные и политические&nbsp;акции. Напишите&nbsp;нам
на&nbsp;<a href="mailto:welcome@discours.io" target="_blank">почту</a>, если вы
хотите разместить объявление. Мы делаем&nbsp;это
на&nbsp;безвозмездной основе.
</p>
</li >
<li>
<p>
<a href="/create" class="ng-scope" target="_blank">Редакция</a>&nbsp;—
это внутренний раздел, где появляются новые материалы, которые присылают
в&nbsp;редакцию. Здесь авторы обсуждают, редактируют и&nbsp;оценивают
публикации, определяя таким образом содержание журнала.
</p>
</li>
*/
}
</ul>
<p>
Материалы в&nbsp;Дискурсе объединяются по&nbsp;<b>темам</b>
&mdash;&nbsp;ключевым словам, которые располагаются в&nbsp;конце материалов и&nbsp;связывают материалы
по&nbsp;жанрам (например,
<a href="/topic/interview">интервью</a>, <a href="/topic/reportage">репортажи</a>,{' '}
<a href="/topic/essay">эссе</a>, <a href="/topic/likbez">ликбезы</a>), по&nbsp;тематике (
<a href="/topic/cinema">кино</a>, <a href="/topic/philosophy">философия</a>,{' '}
<a href="/topic/history">история</a>, <a href="/topic/absurdism">абсурдизм</a>,{' '}
<a href="/topic/sex">секс</a> и&nbsp;т.д.) или в&nbsp;серии (как &laquo;
<a href="/topic/zakony-mira">Законы мира</a>&raquo; или &laquo;
<a href="/topic/za-liniey-mannergeyma">За&nbsp;линией Маннергейма</a>&raquo;). Темы объединяют
сотни публикаций, помогают ориентироваться в&nbsp;журнале и&nbsp;следить за&nbsp;интересными
материалами.
</p>
<section>
<h3 id="become-author">Как стать автором журнала</h3>
<p>
Дискурс объединяет журналистов, активистов, музыкантов, художников, фотографов, режиссеров,
философов, ученых и&nbsp;других замечательных людей. Каждый может{' '}
<a href="/create">прислать</a>
свой материал в&nbsp;журнал. Формат и&nbsp;тематика не&nbsp;имеют значения, единственное, что важно
&mdash; <a href="/how-to-write-a-good-article">хороший</a> ли&nbsp;материал. Если сообщество поддержит
вашу публикацию, она выйдет в&nbsp;журнале и&nbsp;станет доступна тысячам наших читателей.
</p>
</section>
<h3 id="voting">Как проходит голосование</h3>
<p>
Все присылаемые в&nbsp;Дискурс материалы попадают в&nbsp;
<strong>&laquo;Редакцию&raquo;</strong>. Это внутренний раздел сайта, где участники сообщества
решают, что будет опубликовано в&nbsp;Дискурсе. Как только работа получает одобрение как минимум
пятерых авторов открытой редакции, она немедленно публикуется в&nbsp;журнале. Если&nbsp;же
материал набирает более&nbsp;20% голосов &laquo;против&raquo;, он&nbsp;не&nbsp;выходит
и&nbsp;может быть отправлен на&nbsp;доработку. Жестких сроков рассмотрения материалов у&nbsp;нас
нет, иногда это занимает час, иногда месяц, обычно&nbsp;&mdash; несколько дней.
</p>
<section>
<p>
Как только сообщество поддержит публикацию, вы&nbsp;получите приглашение
в&nbsp;интернет-редакцию и&nbsp;сможете голосовать за&nbsp;новые материалы.
</p>
</section>
<h3 id="editing">Как мы&nbsp;делаем тексты друг друга лучше</h3>
<p>
Дискурс&nbsp;&mdash; журнал с&nbsp;совместным редактированием. Совершенствовать тексты нам
помогает <b>система ремарок</b>. Вы&nbsp;можете выделить часть текста в&nbsp;любой статье
и&nbsp;оставить к&nbsp;ней замечание, вопрос или предложение&nbsp;&mdash; автор текста получит
совет на&nbsp;почту и&nbsp;сможет его учесть. Так мы&nbsp;устраняем опечатки, неточности
и&nbsp;советуем друг другу, как сделать тексты качественнее и&nbsp;интереснее.
</p>
<p>
Среди участников сообщества есть профессиональные редакторы, которые помогают авторам делать
тексты лучше. Если вашему материалу потребуется доработка, они помогут отредактировать текст,
подобрать иллюстрации, придумать заголовок и&nbsp;красиво сверстать публикацию. Если
вы&nbsp;хотите обсудить текст, прежде чем загрузить материал в интернет-редакцию&nbsp;&mdash;
разместите его в&nbsp;google-документе, откройте доступ к&nbsp;редактированию по&nbsp;ссылке
и&nbsp;напишите нам на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>
.
</p>
<p>
Если у&nbsp;вас возникают трудности с&nbsp;тем, чтобы подобрать к&nbsp;своему материалу
иллюстрации, тоже пишите на&nbsp;<a href="mailto:welcome@discours.io" target="_blank">почту</a>
&mdash; наши коллеги-художники могут вам помочь{' '}
<a href="/create?collab" target="_blank">в&nbsp;режиме совместного редактирования</a>.
</p>
<h3 id="perks">Что сообщество дает авторам</h3>
<ul>
<li>
<p>
<strong>Право определять, каким будет журнал</strong>. Дискурс&nbsp;&mdash; это общественная
институция, созданная людьми и&nbsp;ради людей, функционирующая на&nbsp;условиях прямой
демократии. Авторы публикуют статьи и&nbsp;художественные проекты, участвуют
в&nbsp;обсуждениях, голосуют за&nbsp;работы коллег и&nbsp;таким образом вносят свой вклад
в&nbsp;развитие проекта, определяя содержание и&nbsp;направление журнала.
</p>
</li>
<li>
<p>
<strong>Возможность обратиться к&nbsp;широкой аудитории</strong>. Дискурс читают десятки
тысяч людей, и&nbsp;с&nbsp;каждым днем их&nbsp;становится больше.
</p>
</li>
<li>
<p>
<strong>Поддержка редакции</strong>. Дискурс предоставляет авторам аккредитацию
на&nbsp;мероприятия, базу контактов, юридическую поддержку, ознакомление с&nbsp;книжными,
кино- и&nbsp;музыкальными новинками до&nbsp;их&nbsp;выхода в&nbsp;свет. Если что-то
из&nbsp;этого вам понадобится, пишите на&nbsp;почту{' '}
<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>
&nbsp;&mdash; поможем.
</p>
</li>
<li>
<p>
<strong>Пресс-карты для корреспондентов</strong>. Три опубликованные статьи позволяют
авторам Дискурса получить официальные удостоверения журналистов (пресс-карты)
на&nbsp;следующий год. Пресс-карты удостоверяют, что вы&nbsp;журналист и&nbsp;можете
пользоваться всеми теми правами, которые гарантирует Закон о&nbsp;СМИ. Кроме того, многие
культурные институции (музеи, галереи и&nbsp;др.) предоставляют журналистам право свободного
входа.
</p>
</li>
<li>
<p>
<strong>Помощь сотен специалистов в&nbsp;разных областях</strong>. В&nbsp;основе Дискурса
лежит идея совместного редактирования. Участники редакционного сообщества&nbsp;&mdash;
несколько сотен журналистов, исследователей, художников, литераторов из&nbsp;разных стран
&mdash; изучают материалы друг друга до&nbsp;публикации и&nbsp;помогают сделать
их&nbsp;качественнее и&nbsp;интереснее. Так, в&nbsp;редакции нередко складываются творческие
союзы: например, авторов текстов и&nbsp;художников, создающих для них иллюстрации.
</p>
</li>
<li>
<p>
<strong>Пространство общения полное выдающихся людей</strong>. Дискурс&nbsp;&mdash; большое
живое сообщество интеллектуалов, разбросанных по&nbsp;всему земному шару. Вступив
в&nbsp;редакцию, вы&nbsp;сможете познакомиться со&nbsp;множеством интересных людей, которые
определяют повестку завтрашнего дня, вдохновляют окружающих, создают новое и&nbsp;изучают
старое, ищут знания и&nbsp;готовы ими делиться, чтобы менять мир в&nbsp;соответствии
со&nbsp;своими идеалами.
</p>
</li>
</ul>
<h3 id="contacts">Как быть в&nbsp;курсе</h3>
<p>
За&nbsp;свежими публикациями Дискурса можно следить не&nbsp;только на&nbsp;сайте,
но&nbsp;и&nbsp;на&nbsp;страницах в&nbsp;<a
href="https://facebook.com/discoursio/"
target="_blank"
>
Фейсбуке
</a>,{' '}
<a href="https://vk.com/discoursio" target="_blank">ВКонтакте</a>{' '}
и&nbsp;<a href="https://t.me/discoursio" target="_blank">Телеграме</a>. А&nbsp;ещё раз
в&nbsp;месяц мы&nbsp;отправляем <a href="#subscribe">почтовую рассылку</a>{' '}
с&nbsp;дайджестом лучших материалов.
</p>
<p>
Если вы&nbsp;хотите сотрудничать, что-то обсудить или предложить &mdash; пожалуйста, пишите
на&nbsp;<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>.
Мы&nbsp;обязательно ответим.
</p>
</div>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,141 +1,14 @@
---
import { Modal } from '../../components/Nav/Modal'
import { Meta } from '@solidjs/meta'
import { Donate as DiscoursDonate } from '../../components/Discours/Donate'
import About from '../../layouts/about.astro'
import { t } from '../../utils/intl'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={t('Support us')}>
<Meta name="description">Здесь можно поддержать Дискурс материально.</Meta>
<Meta name="keywords">Discours.io, помощь, благотворительность</Meta>
<Modal name="thank">Благодарим!</Modal>
<article class="container discours-help">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li><a href="#help-us">Как вы&nbsp;можете поддержать Дискурс?</a></li>
<li>
<a href="#financial-report">На&nbsp;что пойдут деньги?</a>
</li>
<li>
<a href="#trustee">Войдите в&nbsp;попечительский совет Дискурса</a>
</li>
<li>
<a href="#other">Как ещё можно поддержать Дискурс?</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="help-us"><span class="wrapped">Как вы&nbsp;можете поддержать Дискурс?</span></h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; уникальное независимое издание с&nbsp;горизонтальной редакцией,
существующее в&nbsp;интересах своих читателей. Ваша поддержка действительно много
значит&nbsp;&mdash; не&nbsp;только для редакции Дискурса, но&nbsp;и&nbsp;для сохранения
свободной мысли и&nbsp;некоммерческого искусства в&nbsp;нашем обществе.
</p>
<p>
Дискурс существует на&nbsp;добровольных началах. Никакой медиахолдинг, фонд или государственная
структура не&nbsp;финансирует нас&nbsp;&mdash; благодаря этому мы&nbsp;можем писать о&nbsp;том,
что важно, а&nbsp;не&nbsp;о&nbsp;том, что выгодно. Сообщество наших волонтеров ежедневно
трудится, чтобы рассказывать вам интересные, не&nbsp;освещенные другими изданиями
истории&nbsp;&mdash; но&nbsp;мы&nbsp;не&nbsp;сможем делать это без вашей помощи. Пожертвования
читателей составляют основу нашего бюджета и&nbsp;позволяют нам существовать.
</p>
<p>
Если вам нравится&nbsp;то, что мы&nbsp;делаем и&nbsp;вы&nbsp;хотите, чтобы Дискурс продолжался,
пожалуйста, поддержите проект.
</p>
<div class="row">
<div class="col-sm-11 col-md-12">
<DiscoursDonate />
</div>
</div>
<h3 id="financial-report">На&nbsp;что пойдут деньги?</h3>
<p>
Ваши пожертвования пойдут на&nbsp;оплату серверов, содержание офиса, зарплату редакции
и&nbsp;налоги, оплату юридического сопровождения и&nbsp;труда бухгалтера, совершенствование
сайта, аренду помещения для открытой редакции, на&nbsp;печать альманаха Дискурс с&nbsp;лучшими
текстами авторов за&nbsp;полгода, а&nbsp;также на&nbsp;другие редакционные и&nbsp;технические
расходы.
</p>
<h3>Ваша помощь позволит нам</h3>
<ul>
<li>
<h4>Оставаться бесплатным изданием.</h4>
<p>
Мы&nbsp;делаем открытый журнал для всех желающих, а&nbsp;также собираем искусство лучших
авторов по&nbsp;всему миру. Ваша поддержка позволяет нам становиться лучше.
</p>
</li>
<li>
<h4>Создавать еще больше контента.</h4>
<p>
Каждый день к&nbsp;нам присоединяются новые люди, и&nbsp;чем больше нас становится, тем
больше мы&nbsp;творим и&nbsp;строже оцениваем результаты творчества друг друга.
В&nbsp;результате повышается и&nbsp;количество, и&nbsp;качество контента. Каждый день мы
трудимся, чтобы открывать нашим читателям новые грани окружающего мира.
</p>
</li>
<li>
<h4>Развивать форматы и&nbsp;расширять деятельность Дискурса.</h4>
<p>
Мы&nbsp;создаем различные спецпроекты и&nbsp;регулярно проводим необычные мероприятия.
Мы&nbsp;хотим приносить пользу человечеству всеми возможными способами.
</p>
</li>
<li>
<h4>Модернизировать сайт.</h4>
<p>
Мы&nbsp;совершенствуем платформу и&nbsp;стараемся сделать проект максимально удобным для
вас. Мы&nbsp;работаем над мобильной версией, новым дизайном, фукционалом, системой
регистрации, навигации и&nbsp;рекомендаций, которые сделают наше общение еще увлекательней.
</p>
</li>
<li>
<h4>Выпускать альманах.</h4>
<p>
Выпускать раз в&nbsp;полугодие печатный альманах Дискурс с&nbsp;33&nbsp;лучшими текстами
сайта.
</p>
</li>
<li>
<h4>Захватить весь мир</h4>
<p>и&nbsp;принести &laquo;Дискурс&raquo; в&nbsp;каждый дом.</p>
</li>
</ul>
<h3 id="trustee">Войдите в&nbsp;попечительский совет Дискурса</h3>
<p>
Вы&nbsp;хотите сделать крупное пожертвование? Станьте попечителем Дискурса &mdash;
<a class="black-link" href="mailto:welcome@discours.io" target="_blank">напишите нам</a>,
мы&nbsp;будем рады единомышленникам.
</p>
<h3 id="other">Как ещё можно поддержать Дискурс?</h3>
<p>
Есть много других способов поддержать Дискурс и&nbsp;труд наших авторов. Например,
вы&nbsp;можете периодически рассказывать о&nbsp;проекте своим друзьям в&nbsp;соцсетях, делиться
хорошими материалами или&nbsp;&mdash; что еще лучше&nbsp;&mdash; публиковать свои статьи
в&nbsp;&laquo;Дискурсе&raquo;. Но&nbsp;главное, что вы&nbsp;можете сделать для Дискурса, &mdash;
читать нас. Мы&nbsp;вкладываем в&nbsp;журнал душу, и&nbsp;внимание каждого читателя убеждает нас
в&nbsp;правильности выбранного пути. Не&nbsp;переключайтесь.
</p>
<p>
Если вы&nbsp;хотите помочь проекту, но&nbsp;у&nbsp;вас возникли вопросы, напишите нам письмо
по&nbsp;адресу{' '}
<a class="black-link" href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>
.
</p>
</div>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,145 +1,14 @@
---
import Opener from '../../components/Nav/Opener'
import { Modal } from '../../components/Nav/Modal'
import { Feedback } from '../../components/Discours/Feedback'
import Subscribe from '../../components/Discours/Subscribe'
import About from '../../layouts/about.astro'
import { t } from '../../utils/intl'
import '../../styles/manifest.scss'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={t('Manifest')}>
<Modal name="feedback">
<Feedback />
</Modal>
<Modal name="subscribe">
<Subscribe />
</Modal>
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li><a href="#manifest">Манифест</a></li>
<li>
<a href="#participation">Как участвовать в&nbsp;самиздате</a>
<ul class="nodash">
<li><a href="#contribute">Предлагать материалы</a></li>
<li><a href="#donate">Поддерживать проект</a></li>
<li><a href="#cooperation">Сотрудничать с&nbsp;журналом</a></li>
<li><a href="#follow">Как еще можно помочь</a></li>
</ul>
</li>
<li>
<a href="#connection">Будем на&nbsp;связи</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="manifest"><span class="wrapped">Манифест</span></h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс - независимый художественно-аналитический журнал с горизонтальной редакцией, основанный
на принципах свободы слова, прямой демократии и совместного редактирования. Дискурс создаётся
открытым медиасообществом ученых, журналистов, музыкантов, писателей, предпринимателей,
философов, инженеров, художников и специалистов со всего мира, объединившихся, чтобы вместе
делать общий журнал и объяснять с разных точек зрения мозаичную картину современности.
</p>
<p>
Мы пишем о культуре, науке и обществе, рассказываем о новых идеях и современном искусстве,
публикуем статьи, исследования, репортажи, интервью людей, чью прямую речь стоит услышать, и
работы художников из разных стран - от фильмов и музыки до живописи и фотографии. Помогая друг
другу делать публикации качественнее и общим голосованием выбирая лучшие материалы для журнала,
мы создаём новую горизонтальную журналистику, чтобы честно рассказывать о важном и интересном.
</p>
<p>
Редакция Дискурса открыта для всех: у нас нет цензуры, запретных тем и идеологических рамок.
Каждый может
<a href="/create">прислать материал</a> в журнал и <a href="/about/guide">
присоединиться к редакции
</a>. Предоставляя трибуну для независимой журналистики и художественных проектов, мы помогаем
людям рассказывать свои истории так, чтобы они были услышаны. Мы убеждены: чем больше голосов
будет звучать на Дискурсе, тем громче в полифонии мнений будет слышна истина.
</p>
</div>
<h2 class="h2" id="participation">
<span class="wrapped">Как участвовать в&nbsp;самиздате</span>
</h2>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс создается <a href="/about/guide">открытым сообществом</a> энтузиастов новой независимой журналистики.
Участвовать в открытой редакции и помогать журналу можно следующими способами:
</p>
<h3 id="contribute">Предлагать материалы</h3>
<p>
<a href="/create">Создавайте</a> свои статьи и художественные работы - лучшие из них будут опубликованы
в журнале. Дискурс - некоммерческое издание, авторы публикуются в журнале на общественных началах,
получая при этом <a href="/create?collab=true">поддержку</a> редакции, право голоса, множество других
возможностей и читателей по всему миру.
</p>
<h3 id="donate">Поддерживать проект</h3>
<p>Дискурс существует на пожертвования читателей. Если вам нравится журнал, пожалуйста,</p>
<p>
<a href="/about/help">поддержите</a> нашу работу. Ваши пожертвования пойдут на выпуск новых материалов,
оплату серверов, труда программистов, дизайнеров и редакторов.
</p>
<h3 id="cooperation">Сотрудничать с журналом</h3>
<p>
Мы всегда открыты для сотрудничества и рады единомышленникам. Если вы хотите помогать журналу с
редактурой, корректурой, иллюстрациями, переводами, версткой, подкастами, мероприятиями,
фандрайзингом или как-то ещё - скорее пишите нам на <a href="mailto:welcome@discours.io">
welcome@discours.io
</a>.
</p><p>
Если вы представляете некоммерческую организацию и хотите сделать с нами совместный проект,
получить информационную поддержку или предложить другую форму сотрудничества -
[пишите](mailto:welcome@discours.io).
</p><p>
Если вы разработчик и хотите помогать с развитием сайта Дискурса,
<a href="mailto:services@discours.io">присоединяйтесь к IT-команде самиздата</a>. Открытый код
платформы для независимой журналистики, а также всех наших спецпроектов и медиаинструментов
находится
<a href="https://github.com/Discours">в свободном доступе на GitHub</a>.
</p>
<h3 id="follow">Как еще можно помочь</h3>
<p>
Советуйте Дискурс друзьям и знакомым. Обсуждайте и распространяйте наши публикации — все
материалы открытой редакции можно читать и перепечатывать бесплатно. Подпишитесь на самиздат
<a href="https://vk.com/discoursio">ВКонтакте</a>, в <a href="https://facebook.com/discoursio">
Фейсбуке
</a> и в
<a href="https://t.me/discoursio">Телеграме</a>, а также на <Opener name="subscribe"
>рассылку лучших материалов</Opener
> , чтобы не пропустить ничего интересного.
</p><p>
<a href="https://forms.gle/9UnHBAz9Q3tjH5dAA">Рассказывайте о впечатлениях</a> от материалов открытой
редакции,
<Opener name="feedback">делитесь идеями</Opener>, интересными темами, о которых хотели бы узнать
больше, и историями, которые нужно рассказать.
</p>
</div>
<h2 class="h2" id="connection">
<span class="wrapped">Будем на&nbsp;связи</span>
</h2>
<div class="col-lg-10 offset-md-1">
Если вы хотите предложить материал, сотрудничать, рассказать о проблеме, которую нужно осветить,
сообщить об ошибке или баге, что-то обсудить, уточнить или посоветовать, пожалуйста, <Opener
name="feedback">напишите нам здесь</Opener
>
или на почту <a href="mailto:welcome@discours.io">welcome@discours.io</a>. Мы обязательно ответим
и постараемся реализовать все хорошие задумки.
</div>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,18 +1,14 @@
---
import About from '../../layouts/about.astro'
import '../../styles/manifest.scss'
import { t } from '../../utils/intl'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={t('Partners')}>
<article class="container">
<div class="row">
<div class="col-md-8 offset-md-2">
{t('Partners')}
</div>
<div class="col-md-8 col-lg-6 offset-md-3"></div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,18 +1,14 @@
---
import About from '../../layouts/about.astro'
import '../../styles/manifest.scss'
import { t } from '../../utils/intl'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={t('Projects')}>
<article class="container">
<div class="row">
<div class="col-md-8 offset-md-2">
{t('Projects')}
</div>
<div class="col-md-8 col-lg-6 offset-md-3"></div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,259 +1,14 @@
---
import { Meta } from '@solidjs/meta'
import About from '../../layouts/about.astro'
import '../../styles/manifest.scss'
import { t } from '../../utils/intl'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const title = t('Terms of use')
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={title}>
<Meta name="description" content={title} />
<Meta name="keywords" content={`Discours.io, ${t('Terms of use')}, ${t('Terms of use', 'en')}`} />
<Meta property="og:title" content={title} />
<Meta property="og:description" content={title} />
<article class="container">
<div class="row">
<div class="col-md-2">
<nav class="content-index">
<ul class="nodash">
<li><a href="#terms-of-use">Пользовательское соглашение</a></li>
<li>
<a href="#definitions">Определения</a>
</li>
<li>
<a href="#copyright">Авторские права</a>
</li>
<li>
<a href="#rules">Правила поведения</a>
</li>
<li>
<a href="#privacy-policy">Политика конфиденциальности</a>
</li>
<li>
<a href="#feedback">Обратная связь</a>
</li>
</ul>
</nav>
</div>
<div class="col-md-8">
<h1 id="terms-of-use">
<span class="wrapped">Пользовательское соглашение</span>
</h1>
<div class="col-lg-10 offset-md-1">
<p>
Дискурс&nbsp;&mdash; это сообщество творческих людей, объединенных идеей делать интересный
журнал для всех желающих. Авторы Дискурса сообща посредством прямого голосования определяют
содержание журнала.
</p>
<p>Для того, чтобы Дискурс работал без помех, разработаны настоящие Правила.</p>
<h3 id="definitions">Определения</h3>
<p>
<strong>Сайт</strong>&nbsp;&mdash; портал discours.io
</p>
<p>
<strong>Пользователь</strong>&nbsp;&mdash; лицо, пользующееся Сайтом, либо юридическое лицо,
обладающее правами на&nbsp;интеллектуальную собственность.
</p>
<p>
<strong>Публикация контента</strong>&nbsp;&mdash; размещение Пользователем посредством Сайта
объектов авторских прав и&nbsp;другой информации для других пользователей.
</p>
<p>
<strong>Издательство</strong>&nbsp;&mdash; администрация сайта, которая занимается технической
и&nbsp;издательской деятельностью для обеспечения функционирования Сайта и&nbsp;Альманаха.
Издательство не&nbsp;вмешивается в&nbsp;принятие редакционных решений авторским сообществом.
</p>
<p>
<strong>Альманах &laquo;Дискурс&raquo;</strong> (свидетельство о&nbsp;регистрации СМИ: ПИ &#8470;
ФС77-63947 от&nbsp;18.12.15)&nbsp;&mdash; печатное периодическое издание, которое выходит раз в&nbsp;год
и&nbsp;состоит из&nbsp;лучших публикаций на&nbsp;Сайте за&nbsp;это время.
</p>
<h3 id="copyright">Авторские права</h3>
<ol>
<li>
<p>
Вся информация на&nbsp;сайте (включая тексты, изображения, видеоматериалы, аудиозаписи,
программный код, дизайн сайта и&nbsp;т.д.) является объектом интеллектуальной собственности
ее&nbsp;правообладателей и&nbsp;охраняется законодательством РФ.
</p>
</li>
<li>
<p>
Публикуя контент на&nbsp;сайте, Пользователь на&nbsp;безвозмездной основе предоставляет
Издательству право на&nbsp;воспроизведение, распространение, перевод, редактирование
контента. Данное право предоставляется Издательству на&nbsp;весь срок действия авторских
прав Пользователя.
</p>
</li>
<li>
<p>
Пользователь предоставляет Издательству право редактировать контент, в&nbsp;том числе
вносить в&nbsp;него изменения, сокращения и&nbsp;дополнения, снабжать его иллюстрациями
и&nbsp;пояснениями, исправлять ошибки и&nbsp;уточнять фактические сведения, при условии, что
этим не&nbsp;искажается авторский замысел.
</p>
</li>
<li>
<p class="ng-binding">
Обнародование контента осуществляется Издательством в&nbsp;соответствии с&nbsp;условиями
лицензии{' '}
<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.ru" target="_blank">
Creative Commons BY-NC-ND 4.0
</a>
. Все материалы сайта предназначены исключительно для личного некоммерческого использования.
Права на&nbsp;дизайн и&nbsp;программный код сайта принадлежат Издательству.
</p>
</li>
<li>
<p class="ng-binding">
Все аудиовизуальные произведения являются собственностью своих авторов
и&nbsp;правообладателей и&nbsp;используются только в&nbsp;образовательных
и&nbsp;информационных целях. Если вы&nbsp;являетесь собственником того или иного
произведения и&nbsp;не&nbsp;согласны с&nbsp;его размещением на&nbsp;сайте, пожалуйста,
напишите на&nbsp;
<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>
.
</p>
</li>
<li>
<p>
Цитирование, распространение, доведение до&nbsp;всеобщего сведения материалов Cайта
приветствуется. При использовании материалов сайта необходимо указать имя автора
и&nbsp;активную ссылку на&nbsp;материал на&nbsp;Сайте.
</p>
</li>
</ol>
<h3 id="rules">Правила поведения</h3>
<ol>
<li>
<p>
Находясь на&nbsp;Сайте, Пользователь подтверждает свое совершеннолетие, правоспособность,
а&nbsp;также согласие с&nbsp;настоящими Правилами и&nbsp;политикой конфиденциальности
и&nbsp;готовность нести полную ответственность за&nbsp;их соблюдение.
</p>
</li>
<li>
<h4>На&nbsp;сайте запрещено:</h4>
<ul>
<li>
Публиковать контент, авторские права на&nbsp;который принадлежат третьим лицам, без
согласия этих лиц. Если авторские права на контент принадлежат нескольким лицам,
то&nbsp;его публикация предполагает согласие их&nbsp;всех.
</li>
<li>Размещать коммерческую и&nbsp;политическую рекламу.</li>
<li>
Целенаправленно препятствовать нормальному функционированию сообщества и&nbsp;сайта
discours.io
</li>
<li>Выдавать себя за&nbsp;другого человека и&nbsp;представляться его именем.</li>
<li>
Размещать информацию, которая не&nbsp;соответствует целям создания Сайта, ущемляет
интересы других пользователей или третьих лиц, нарушает законы Российской Федерации.
</li>
</ul>
</li>
<li>
<p>
Пользователь несет всю ответственность за&nbsp;содержание публикуемого контента и&nbsp;свое
взаимодействие с&nbsp;другими пользователями, и&nbsp;обязуется возместить все расходы
в&nbsp;случае предъявления каких-либо претензий третьими лицами. Издательство не&nbsp;несет
ответственности за&nbsp;содержание публикуемой пользователями информации, в&nbsp;том числе
за&nbsp;размещенные на&nbsp;сайте комментарии. Переписка между Пользователем
и&nbsp;Издательством считается юридически значимой. Настоящие Правила могут быть изменены
Издательством, изменения вступают в&nbsp;силу с&nbsp;момента публикации на&nbsp;Сайте.
</p>
</li>
<li>
<p>
Если Пользователь очевидно и&nbsp;целенаправленно нарушает правила, Издательство может
и&nbsp;принять в&nbsp;отношении автора следующие меры: вынести предупреждение и&nbsp;обязать
автора устранить допущенное нарушение, удалить контент, нарушающий правила, заблокировать
или удалить аккаунт нарушителя.
</p>
</li>
</ol>
<h3 id="privacy-policy">Политика конфиденциальности</h3>
<ol>
<li>
<p>Сайт может собирать у&nbsp;пользователей следующие данные:</p>
<ul>
<li>
<p>
Данные, которые пользователи сообщают о&nbsp;себе сами при подаче заявки, регистрации,
авторизации или заполнения профиля, в&nbsp;том числе ФИО и&nbsp;контактную информацию.
Конфиденциальные данные, такие как идентификатор и&nbsp;электронный адрес, используются
для идентификации пользователя. Данные профиля, размещённые публично по&nbsp;желанию
пользователя, которое выражается фактом их&nbsp;предоставления, используется для
демонстрации другим пользователям той информации о&nbsp;себе, которую пользователь готов
предоставить.
</p>
</li>
<li>
<p>
Данные, собранные автоматическим путем, такие, как cookie-файлы. Эти
неперсонализированные данные могут использоваться для сбора статистики и&nbsp;улучшения
работы сайта.
</p>
</li>
</ul>
</li>
<li>
<p>
Издательство обеспечивает конфиденциальность персональных данных и&nbsp;применяет все
необходимые организационные и&nbsp;технические меры по&nbsp;их защите.
</p>
</li>
<li>
<p class="ng-binding">
По&nbsp;желанию пользователя Издательство готово удалить любую информацию о&nbsp;нем,
собранную автоматическим путем. Для этого следует написать на&nbsp;адрес электронной почты{
' '
}
<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>
.
</p>
</li>
<li>
<p>
Если в&nbsp;информации, предоставляемой Издательству Пользователем, содержатся персональные
данные последнего, то&nbsp;фактом их&nbsp;предоставления он соглашается
на&nbsp;их&nbsp;обработку любым способом, не&nbsp;запрещенным законодательством РФ.
</p>
<p class="ng-binding">
Общедоступные видео на&nbsp;сайте могут транслироваться с&nbsp;YouTube и&nbsp;регулируются{
' '
}
<a href="https://policies.google.com/privacy" target="_blank">
политикой конфиденциальности Google
</a>
. Загрузка видео на&nbsp;сайт также означает согласие с&nbsp;
<a href="https://www.youtube.com/t/terms" target="_blank">
Условиями использования YouTube
</a>
.
</p>
</li>
<li>
<p>
Данные, которые мы&nbsp;получаем от&nbsp;вас, мы&nbsp;используем только в&nbsp;соответствии
с&nbsp;принципами обработки данных, указанными в&nbsp;этом документе.
</p>
</li>
</ol>
<h3 id="feedback">Обратная связь</h3>
<p class="ng-binding">
Любые вопросы и&nbsp;предложения по&nbsp;поводу функционирования сайта можно направить
по&nbsp;электронной почте{' '}
<a href="mailto:welcome@discours.io" target="_blank">welcome@discours.io</a>{' '}
или через форму <a href="/feedback-idea">&laquo;предложить идею&raquo;</a>.
</p>
</div>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -1,91 +1,14 @@
---
import { Meta } from '@solidjs/meta'
import About from '../../layouts/about.astro'
import '../../styles/manifest.scss'
import { t } from '../../utils/intl'
import Zine from '../../layouts/zine.astro'
import { Root } from '../../components/Root'
import { initRouter } from '../../stores/router'
const title = t('Thank you')
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<About title={title}>
<Meta name="description" content={title} />
<Meta name="keywords" content={`Discours.io, ${title}, ${t('Thank you', 'en')}`} />
<Meta property="og:title" content={title} />
<Meta property="og:description" content={title} />
<article class="container">
<div class="container open-post margin-top-20px ng-scope">
<div class="row">
<div class="col-md-8 offset-md-2">
<h1><span class="wrapped">{title}</span></h1>
</div>
<div class="col-md-8 col-lg-6 offset-md-3">
{
/*
<h3><b>Команда</b></h3>
<p>
Константин Ворович — исполнительный директор,
<a href="mailto:welcome@discours.io" target="_blank"
>welcome@discours.io</a
><br />
Александр Гусев — технический архитектор,
<a href="mailto:services@discours.io" target="_blank"
>services@discours.io</a
><br />
Екатерина Ильина — шеф-редактор проекта,
<a href="mailto:letter@discours.io" target="_blank"
>letter@discours.io</a
><br />
Яна Климова — редактор сайта и соцсетей,
<a href="mailto:letter@discours.io" target="_blank"
>letter@discours.io</a
><br />
Николай Носачевский — голос и душа подкаста,
<a href="mailto:podcast@discours.io" target="_blank"
>podcast@discours.io</a
>
</p>
*/
}
<h3>Неоценимый вклад в&nbsp;Дискурс внесли и&nbsp;вносят</h3>
<p>
Мария Бессмертная, Дамир Бикчурин, Константин Ворович, Ян&nbsp;Выговский, Эльдар Гариффулин,
Павел Гафаров, Виктория Гендлина, Александр Гусев, Данила Давыдов, Константин Дубовик, Вячеслав
Еременко, Кристина Ибрагим, Екатерина Ильина, Анна Капаева, Яна Климова, Александр Коренков,
Ирэна Лесневская, Игорь Лобанов, Анастасия Лозовая, Григорий Ломизе, Евгений Медведев, Павел
Никулин, Николай Носачевский, Андрей Орловский, Михаил Панин, Антон Панов, Павел Пепперштейн,
Любовь Покровская, Илья Розовский, Денис Светличный, Павел Соколов, Сергей Стрельников, Глеб
Струнников, Николай Тарковский, Кирилл Филимонов, Алексей Хапов, Екатерина Харитонова
</p>
<h3>Авторы</h3>
<p>
Мы&nbsp;безмерно благодарны{' '}
<a href="/authors" target="_blank" rel="noopener noreferrer">каждому автору</a>{' '}
за&nbsp;участие и&nbsp;поддержку проекта. Сегодня, когда для большинства деньги стали целью и&nbsp;основным
источником мотивации, бескорыстная помощь и&nbsp;основанный на&nbsp;энтузиазме труд бесценны. Именно
вы&nbsp;своим трудом каждый день делаете Дискурс таким, какой он&nbsp;есть.
</p>
<h3>Иллюстраторы</h3>
<p>
Ольга Аверинова, Регина Акчурина, Айгуль Берхеева, Екатерина Вакуленко, Анастасия Викулова,
Мария Власенко, Ванесса Гаврилова, Ольга Горше, Ксения Горшкова, Ангелина Гребенюкова, Илья
Diliago, Антон Жаголкин, Саша Керова, Ольга Машинец, Злата Мечетина, Тала Никитина, Никита
Поздняков, Матвей Сапегин, Татьяна Сафонова, Виктория Шибаева
</p>
<h3>Меценаты</h3>
<p>
Дискурс существует исключительно на&nbsp;пожертвования читателей. Мы&nbsp;бесконечно
признательны всем, кто нас поддерживает. Ваши пожертвования&nbsp;&mdash; финансовый фундамент
журнала. Благодаря вам мы&nbsp;развиваем платформу качественной журналистики, которая помогает
самым разным авторам быть услышанными. Стать нашим меценатом и&nbsp;подписаться
на&nbsp;ежемесячную поддержку проекта можно{' '}
<a href="/about/help" target="_self">здесь</a>
.
</p>
</div>
</div>
</div>
</article>
</About>
<Zine>
<Root client:load />
</Zine>

View File

@ -2,11 +2,15 @@
import { Root } from '../../../components/Root'
import Zine from '../../../layouts/zine.astro'
import { apiClient } from '../../../utils/apiClient'
import { initRouter } from '../../../stores/router'
const slug = Astro.params.slug.toString()
const articles = await apiClient.getArticlesForAuthors({ authorSlugs: [slug], limit: 50 })
const author = articles[0].authors.find((a) => a.slug === slug)
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---

View File

@ -2,9 +2,13 @@
import { Root } from '../components/Root'
import Zine from '../layouts/zine.astro'
import { apiClient } from '../utils/apiClient'
import { initRouter } from '../stores/router'
const authors = await apiClient.getAllAuthors()
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---

View File

@ -1,6 +1,11 @@
---
import { Root } from '../components/Root'
import Zine from '../layouts/zine.astro'
import { initRouter } from '../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
---
<Zine>

View File

@ -3,6 +3,11 @@ import { Root } from '../../components/Root'
import Zine from '../../layouts/zine.astro'
import { apiClient } from '../../utils/apiClient'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
const articles = await apiClient.getRecentArticles({ limit: 50 })
---

View File

@ -1,6 +1,11 @@
---
import Zine from '../../layouts/zine.astro'
import { FeedSettings } from '../../components/Views/FeedSettings'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
---
<Zine>

View File

@ -1,6 +1,11 @@
---
import InboxPage from '../components/Views/Inbox'
import About from '../layouts/about.astro'
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
---
<About>

View File

@ -2,10 +2,15 @@
import Zine from '../layouts/zine.astro'
import { Root } from '../components/Root'
import { apiClient } from '../utils/apiClient'
import { initRouter } from '../stores/router'
const randomTopics = await apiClient.getRandomTopics({ amount: 12 })
const articles = await apiClient.getRecentPublishedArticles({ limit: 5 })
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---

View File

@ -2,10 +2,14 @@
import { Root } from '../components/Root'
import Zine from '../layouts/zine.astro'
import { apiClient } from '../utils/apiClient'
import { initRouter } from '../stores/router'
const params: URLSearchParams = Astro.url.searchParams
const q = params.get('q')
const searchResults = await apiClient.getSearchResults({ query: q, limit: 50 })
const { pathname, search } = Astro.url
initRouter(pathname, search)
---
<Zine>

View File

@ -7,6 +7,11 @@ const slug = Astro.params.slug?.toString() || ''
const articles = await apiClient.getArticlesForTopics({ topicSlugs: [slug], limit: 50 })
const topic = articles[0].topics.find(({ slug: topicSlug }) => topicSlug === slug)
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---

View File

@ -2,10 +2,14 @@
import { Root } from '../components/Root'
import Zine from '../layouts/zine.astro'
import { apiClient } from '../utils/apiClient'
import { initRouter } from '../stores/router'
const topics = await apiClient.getAllTopics()
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
const { pathname, search } = Astro.url
initRouter(pathname, search)
---
<Zine>

View File

@ -13,6 +13,14 @@ export interface Routes {
feed: void
article: 'slug'
search: 'q'
dogma: void
guide: void
help: void
manifest: void
partners: void
projects: void
termsOfUse: void
thanks: void
}
const searchParamsStore = createSearchParams()
@ -25,7 +33,15 @@ const routerStore = createRouter<Routes>(
author: '/author/:slug',
feed: '/feed',
search: '/search/:q?',
article: '/:slug'
article: '/:slug',
dogma: '/about/dogma',
guide: '/about/guide',
help: '/about/help',
manifest: '/about/manifest',
partners: '/about/partners',
projects: '/about/projects',
termsOfUse: '/about/terms-of-use',
thanks: '/about/thanks'
},
{
search: false,

View File

@ -5973,6 +5973,13 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
generic-names@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-4.0.0.tgz#0bd8a2fd23fe8ea16cbd0a279acd69c06933d9a3"
integrity sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==
dependencies:
loader-utils "^3.2.0"
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@ -6545,6 +6552,16 @@ iconv-lite@^0.4.24, iconv-lite@^0.4.4:
dependencies:
safer-buffer ">= 2.1.2 < 3"
icss-replace-symbols@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==
icss-utils@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
idb@^7.0.1:
version "7.1.0"
resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270"
@ -7731,6 +7748,11 @@ load-yaml-file@^0.2.0:
pify "^4.0.1"
strip-bom "^3.0.0"
loader-utils@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f"
integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@ -7750,6 +7772,11 @@ lodash-es@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
lodash.includes@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
@ -9366,6 +9393,48 @@ postcss-media-query-parser@^0.2.3:
resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==
postcss-modules-extract-imports@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
postcss-modules-local-by-default@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
dependencies:
icss-utils "^5.0.0"
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.1.0"
postcss-modules-scope@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
dependencies:
postcss-selector-parser "^6.0.4"
postcss-modules-values@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
dependencies:
icss-utils "^5.0.0"
postcss-modules@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-5.0.0.tgz#4a02bc58ecaa7394f8e9a34b7e21cb6c725f15df"
integrity sha512-rGvpTDOM3//3Ysn3Xtvhzaj8ab984wKCpP02TEF559tLbUjNay3RQDpPxb7BREmfBtJm3/1WbQOZ7fSXwYLZ/w==
dependencies:
generic-names "^4.0.0"
icss-replace-symbols "^1.1.0"
lodash.camelcase "^4.3.0"
postcss-modules-extract-imports "^3.0.0"
postcss-modules-local-by-default "^4.0.0"
postcss-modules-scope "^3.0.0"
postcss-modules-values "^4.0.0"
string-hash "^1.1.1"
postcss-resolve-nested-selector@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
@ -9381,7 +9450,7 @@ postcss-scss@^4.0.2:
resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.5.tgz#8ee33c1dda8d9d4753b565ec79014803dc6edabf"
integrity sha512-F7xpB6TrXyqUh3GKdyB4Gkp3QL3DDW1+uI+gxx/oJnUt/qXI4trj5OGlp9rOKdoABGULuqtqeG+3HEVQk4DjmA==
postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6:
version "6.0.10"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
@ -10586,6 +10655,11 @@ string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1:
resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152"
integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==
string-hash@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"