Шаблоны для вики (особенно инфобокс объекта)

Всем привет! Я использую Discourse частично как вики для своей группы по интересам — мне очень хотелось бы иметь инфобоксы, чтобы вывести эти статьи на новый уровень.

Кто-нибудь интегрировал это в Discourse? Я не могу найти никаких плагинов или компонентов темы для этого.

Я нашел человека, который заставил шаблон инфобокса в стиле вики работать в Obsidian — так что, возможно, это хорошее место для начала.

2 лайка

Возможно, стоит использовать универсальный обертку BBCode.

Создайте компонент темы #theme-component и добавьте следующий код в CSS Common.

div[data-wrap="redbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
//* Раскомментируйте строку ниже, чтобы изменить цвет фона. Хотя в таком случае можно было бы использовать цвет фона BBCode.
//      background-color: var(--secondary);
//* Цвет и толщина рамки
      border: 2.5px solid #ff0000;
      border-radius: 0.40em;
}
div[data-wrap="greenbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
//      background-color: var(--secondary);
      border: 2.5px solid #00ff00;
      border-radius: 0.40em;
}
div[data-wrap="bluebox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
//      background-color: var(--secondary);
      border: 2.5px solid #0000ff;
      border-radius: 0.40em;
}
div[data-wrap="yellowbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
//      background-color: var(--secondary);
      border: 2.5px solid #ffff00;
      border-radius: 0.40em;
}
div[data-wrap="box"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
//      background-color: var(--secondary);
      border: 2.5px solid #808080;
      border-radius: 0.40em;
}

Примечание: Создано несколько копий вышеуказанного кода для разных цветов. То есть «greenbox», «yellowbox», «bluebox» и «box» (серый).

Как использовать в сообщении:

[wrap=redbox]
> ## Информационное поле

Тестирование блоков
[/wrap]

Замените «red» на соответствующий цвет. Для серого используйте просто «box».


Примечание 2: Если вы используете плагин цвета BBCode #plugin или компонент темы #theme-component вместо символа «>» (требуется пустая строка в качестве разделителя), вы также можете использовать атрибут bgcolor=.

Цветной текст TC Поскольку это компонент темы, его можно установить независимо от хостинга.

Существует 2 плагина, поддерживающих цвет BBCode: Цвет BBCode или Панель форматирования. Предупреждение: Устанавливайте только один из этих плагинов; я полагаю, что панель форматирования предупреждает, что установка обоих может сломать ваш сайт.

Обновленный код добавляет фоновые цвета

  • Обратите внимание, что этот код включает весь код из предыдущего поста.
Код для общих стилей CSS
div[data-wrap="redbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      border: 2.5px solid #ff0000;
      border-radius: 0.40em;
}
div[data-wrap="greenbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      border: 2.5px solid #00ff00;
      border-radius: 0.40em;
}
div[data-wrap="bluebox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      border: 2.5px solid #0000ff;
      border-radius: 0.40em;
}
div[data-wrap="yellowbox"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      border: 2.5px solid #ffff00;
      border-radius: 0.40em;
}
div[data-wrap="box"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      border: 2.5px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="redboxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #ff0000;
      border: 2.75px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="greenboxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #00ff00;
      border: 2.75px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="blueboxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #0000ff;
      border: 2.75px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="yellowboxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #ffff00;
      border: 2.75px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="greyboxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #808080;
      border: 2.75px solid #808080;
      border-radius: 0.40em;
}
div[data-wrap="grey1boxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #808080;
      border: 2.75px solid #ff0000;
      border-radius: 0.40em;
}
div[data-wrap="grey2boxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color:  #808080;
      border: 2.75px solid #00ff00;
      border-radius: 0.40em;
}
div[data-wrap="grey3boxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #808080;
      border: 2.75px solid #0000ff;
      border-radius: 0.40em;
}
div[data-wrap="grey4boxbg"]{
      margin-top: 0.15em;
      margin-bottom: 0.15em;
      padding-left: 0.30em;
      padding-right: 0.30em;
      background-color: #808080;
      border: 2.75px solid #ffff00;
      border-radius: 0.40em;
}

Используйте этот код в постах для блоков с фоновым цветом:

[Wrap="redboxbg"]
> Инфобокс

Тестирование блока
[/wrap]

Новые варианты фоновых цветов: замените “red” на:

  • “green”, “blue”, “yellow”
    Цветной фон. Серая рамка.
Скриншот для мобильных устройств


  • “grey”, “grey#” #=1-4.
    Все серые фоны: серая рамка, 1 — красная рамка, 2 — зеленая рамка, 3 — синяя рамка, 4 — желтая рамка.
Скриншот для мобильных устройств