PHPackages                             revolter/idealist-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. revolter/idealist-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

revolter/idealist-bundle
========================

Бандл для проектов как компонент Symfony. Создает визуальный скелет для текстов. Основа распространения текстов идеи. Совместное редактирование и публикация текстов идей независимых авторов.

020PHP

Since Dec 20Pushed 8y ago1 watchersCompare

[ Source](https://github.com/revolter-idealist/idealist-bundle)[ Packagist](https://packagist.org/packages/revolter/idealist-bundle)[ RSS](/packages/revolter-idealist-bundle/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Idealist Bundle
===============

[](#idealist-bundle)

Технически это бандл для Симфони который конвертирует тексты размеченные MarkDown в более простой и удобный в восприятии и использовании вид. Основная цель - упростить по максимуму путь идеи от мысли к печати на бумаге и рапространению в обществе.

В целом, этого бандла достаточно для развертывания полноценной точки доступа к текстам на любом проекте Symfony или Laravel - любом другом проекте использующем компоненты Симфони. Работа продолжается. Для подключения к проекту, добавьте зависимость через composer.json и импортируйте или настройте роуты для текстов.

Установка и настройка
---------------------

[](#установка-и-настройка)

`composer require "revolter/idealist-bundle:dev-master"`или `composer require revolter/idealist-bundle`

Затем добавьте инициализацию бандла в `app/AppKernel.php``new Revolter\IdealistBundle\RevolterIdealistBundle(),`

После установки код бандла будет в одноименной папке вендоров вашего проекта. Обычно это папка `vendor` в корне. И весь путь тогда `vendor/revolter/idealist-bundle`. Там будет два файла, которые необходимо будет скопировать отдельно.

- base.html.twig - основной шаблон страницы проекта. Ссылается на файл счетчиков в коде
    - counters.html.twig - файл для счетчиков статистики

Вариантов три. Рекоммендуется сделать ссылку на `base.html.twig` и скопировать, а затем отредактировать `counters.html.twig` добавив в него свои счетчики статистики.

- Если счетчики не нужны, делайте ссылки на оба файла
- Если нужен свой дизайн, копируйте оба

Для примера, если ваш проект на Symfony вам нужно скопировать оба файла в папку `app/Resources/views`. Таким образом вы сможете отредактировать стандартный дизайн проекта как посчитаете нужным. И добавить свои счетчики статистики, да всё что угодно. Бандл отвечает только за генерацию текста/контента и генерирование текста для печати, других форматов. При копировании/изменении `base.html.twig` усложнится возможность обновления.

Настройка требует указания стандартных параметров для бандла, например текст по умолчанию(index\_idea), который будет открыт при обращении к главной странице. Параметры указываются в *parameters.yml* вашего проекта.

```
    index_file: README # Имя файла текста
    index_idea: revolter-social-project # Текст по умолчанию
    index_name: info # Ссылка по умолчанию
    path.web: '%kernel.root_dir%/../web' # Папка веб
    path.idea: '' # Папка идеи
    path.texts: '%path.web%/texts' # Папка текстов

```

Стили, картинки, скрипты
------------------------

[](#стили-картинки-скрипты)

Так как бандл подразумевает изменение дизайна, стили и фоновые картинки, как и шаблоны их использующие, не устанавливаются автоматически. Оформление находится в папке `Resources/public` бандла.

- `php app/console assets:install --symlink` - эта команда автоматически копирует или делает ссылки на файлы ресурсов. Опция `--symlink` делает простую ссылку на ресурсы вместо копирования файлов. Таким образом, можно быть спокойным при обновлении бандла, так как в иных случаях, вам необходимо обновлять ранее скопированные файлы. При установке ссылки, копировать файлы заново после обновления нет необходимости.
    - В шаблонах путь к `css` файлам генерируется автоматически исходя из настроек *assets* вашего проекта. Вы можете настроить эту часть конфигурации проекта, либо изменить способ доступа к стилям, либо захардкодить пути стилей в шаблонах.
- Вы можете скопировать ее содержимое руками в веб корень проекта, обычно это папка `web`. Таким образом у вас добавится как минимум папка `web/static` со стилями и фонами для шаблонов. Вы сможете редактировать стили, и вам нужно будет поправить в шаблоне ссылку на `css` файл, но будет уже проблематично обновляться потом.

Добавление текстов
------------------

[](#добавление-текстов)

Тексты подключаются из самостоятельных репозиториев - каждая идея в своем репозитории, свой проект. Бандл соотносит название текста и роута. Тексты необходимо расположить в папке `texts` корневой публичной папке доступной из веб. В проектах симфони это папка `web` вашего проекта.

Есть как минимум три способа, как подключить тексты.

- Самое простое, скопировать файлы в нужные папки. Один минус, обновление невозможно автоматизировать, и придется обновлять вручную каждый раз. Это будет основной причиной потери актуальности текстов на вашем сайте.
- Командой `git clone  ` клонировать репозиторий `` в нужное место `` где *web/texts* папка для текстов, а *name-repo* это название текста/репозитория. Например `git clone https://github.com/revolter-idealist/distributed-community web/texts/distributed-community` для текстов о распределенных Сообществах.
    - Для обновления нужно будет перейти в папку с текстом и выполнить команду `git pull` - новый текст загрузится/обновится автоматически.
    - Плюс в том, что вы также сможете работать с текстом самостоятельно прямо в этой папке, и отправлять изменения на сервер.
    - Минус - нужно выполнять команды для каждого текста. Верояно будет конфликт, если ваш основной проект также под контролем версий.
- Добавить текст как подмодуль к вашему проекту `git submodule add  `. Команда почти идентична предыдущей, но дает несколько преимуществ.
    - Можно обновить все тексты одной командой `git submodule update`
    - Без конфликтов с корневым репозиторием проекта. Подмодули дополняют его.

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

FAQ - Вопрос/Ответ
------------------

[](#faq---вопросответ)

*Почему папка текстов в публичном доступе?* - Сама публичность будет зависеть от настроек вашего сервера/хостинга. Желательно всёже сделать папку текстов доступной. Тогда можно будет

- Получить доступ к исходникам/текстам напрямую
- Можно будет скопировать/склонировать репозитории текстов

*Не легко как-то с подмодулями* - Подмодули дают преимущество при создании цельного проекта текстов и его последующего клонирования в распределенной системе одной командой. Другого способа добиться этой цели мне пока не известно.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ef0022ba73eb67e483511c396c9377b8d8ebd9541c75a22e8cbaac876c882edd?d=identicon)[freedomsex](/maintainers/freedomsex)

---

Top Contributors

[![tebaly](https://avatars.githubusercontent.com/u/9466814?v=4)](https://github.com/tebaly "tebaly (23 commits)")

### Embed Badge

![Health badge](/badges/revolter-idealist-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/revolter-idealist-bundle/health.svg)](https://phpackages.com/packages/revolter-idealist-bundle)
```

###  Alternatives

[phpoffice/phpvisio

PHPVisio - Read, Create and Write Diagrams documents in PHP

1803.8k](/packages/phpoffice-phpvisio)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
