PHPackages                             petegore/blog-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. [Framework](/categories/framework)
4. /
5. petegore/blog-bundle

ActiveProject[Framework](/categories/framework)

petegore/blog-bundle
====================

Symfony GoreBlogBundle

061[3 issues](https://github.com/petegore/GoreBlogBundle/issues)CSS

Since Sep 19Pushed 11y ago1 watchersCompare

[ Source](https://github.com/petegore/GoreBlogBundle)[ Packagist](https://packagist.org/packages/petegore/blog-bundle)[ RSS](/packages/petegore-blog-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

GoreBlogBundle
==============

[](#goreblogbundle)

A Symfony2 blog bundle (work in progres)

This bundle is not complete : the blog misses a lot of functionalities, and many bug remain.

I put it in GitHub / Packagist in order to use &amp; test it in parallele of the dev. You can check the progress on my developper blog that I just initiated at the same time as the bundle :

Thanks for your comprehension :)

Uses
====

[](#uses)

GoreBlodBundle uses different existing bundles like :

- FOSUserBundle : user management
- HWIOAuthBundle : connection with Twitter, Fb, etc...
- StofDoctrineExtensionsBundle : to user Doctrine extensions such as Sluggable
- StfalconTinymceBundle : to load TinyMCE as text editor for articles

All these bundles will be installed at the same time as the BlogBundle.

Installation
============

[](#installation)

Requiring the main bundle
-------------------------

[](#requiring-the-main-bundle)

Add the following requirements to your composer.json :

```
# composer.json

"require": {
    ...
    "petegore/blog-bundle": "dev-master"
},

```

And then run the update composer command :

```
$ php composer.phar update
```

Enabling the bundles
--------------------

[](#enabling-the-bundles)

```
# app/AppKernel.php

$bundles = array(
    ...
    /** Blog and associated bundles **/
    new Gore\BlogBundle\GoreBlogBundle(),
    new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
    new FOS\UserBundle\FOSUserBundle(),
    new Stfalcon\Bundle\TinymceBundle\StfalconTinymceBundle(),
    new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
);
```

Creating the main route
-----------------------

[](#creating-the-main-route)

Add main blog route and FOSUserBundle routes :

```
# app/config/routing.yml

# ROUTING FOR HWIOAUTHBUNDLE : LET BEFORE THE OTHER ROUTES
hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /connect

hwi_oauth_login:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix:   /login

# ROUTING FOR BLOGBUNDLE
blog:
    resource: "@GoreBlogBundle/Resources/config/routing/routing.yml"
    prefix:   /

# ROUTING FOR FOSUSERBUNDLE
fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile

logout:
    pattern: /logout
```

Create the security.yml file
----------------------------

[](#create-the-securityyml-file)

```
# app/config/security.yml

security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext
        FOS\UserBundle\Model\UserInterface: sha512

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_ADMIN]

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

```

Updating the database schema
----------------------------

[](#updating-the-database-schema)

Update your database schema bu running update

```
$ php app/console doctrine:schema:update --force
```

Create your own admin user
--------------------------

[](#create-your-own-admin-user)

By running the commands (for example) :

```
$ php app/console fos:user:create admin admin@mywebsite.com admin
$ php app/console fos:user:promote admin ROLE_ADMIN
```

Updating the assets
-------------------

[](#updating-the-assets)

Run assets:install in order to install the public resources :

```
$ php app/console assets:install web/
```

Creating a pictures folder
--------------------------

[](#creating-a-pictures-folder)

Create a folder to store articles pictures into your web/ folder. For example : "web/pictures" Note : the article creation process will create subfolders based on year and month.

Set the minimal configuration
-----------------------------

[](#set-the-minimal-configuration)

You only have to define the pictures folder into the YAML config file :

```
# app/config/config.yml

# Blog configuration
gore_blog:
    pictures_folder: pictures/
    # will be completer later

# FOSUserBundle
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Gore\BlogBundle\Entity\User

# Doctrine extensions bundle
stof_doctrine_extensions:
    default_locale: %locale%
    orm:
        default:
            sluggable: true

# Text editor and syntax highlighter
stfalcon_tinymce:
    tinymce_jquery: true
    selector: ".tinymce"
    language: %locale%
    external_plugins:
        sh4tinymce:
            url: "asset[bundles/goreblog/lib/tinymce-plugin/sh4tinymce/plugin.js]"
    theme:
        simple: ~
        advanced:
            plugins:
                - "advlist autolink lists link image charmap print preview hr anchor pagebreak"
                - "searchreplace wordcount visualblocks visualchars code fullscreen"
                - "insertdatetime media nonbreaking save table contextmenu directionality"
                - "emoticons template paste textcolor"
            toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
            toolbar2: "print preview media | forecolor backcolor emoticons | stfalcon | example"

```

Customizing the blog
--------------------

[](#customizing-the-blog)

Here is an example of the complete configuration you car put on the blog :

```
gore_blog:
    pictures_folder:        pictures/
    blog_title:             Chroniques d'un devweb
    main_articles_to_show:  2
    small_articles_to_show: 3
    social_networks_urls:
        email: test@myblog.com
        twitter : http://twitter.com/mypseudoontwitter
        ### etc... many social networks are availables
```

@TOFINISH

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

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/6c5c190ff71d8aa389505b100404db5a1946fed98df1d41e9a408e6ee9d56aa1?d=identicon)[petegore](/maintainers/petegore)

---

Top Contributors

[![petegore](https://avatars.githubusercontent.com/u/7768327?v=4)](https://github.com/petegore "petegore (25 commits)")

### Embed Badge

![Health badge](/badges/petegore-blog-bundle/health.svg)

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

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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