<commit_before>Laravel Blog
============

A Laravel 5 Ooglee-module to add a simple blog to a site

## Features

* Paginated index view with configurable results per page
* Year/Month archive filtering, including an archive partial that you can include in your own views (requires MySQL)
* Draft/Approved status and published date fields for approvals and scheduled publishing of posts
* Configurable URLs, e.g. /blog or /news/yyyy/mm or /articles/< article slug >
* Fields for title, slug, main image or YouTube Video ID, summary, content, link text and url for external links, is sticky?, published date, status, meta description and keywords, in RSS?
* Faker seed to seed your blog with loads of good test data
* Administrator config file for use with FrozenNode's Administrator package
* Bundled migration for building the database schema
* Extendable to add categories or tags relationships and filter by them, see below
*

## Installation

Add the following to you composer.json file (Recommend swapping "dev-master" for the latest release)

    "rowland/ooglee-blog": "dev-master"

Run

    composer update

Add the following to app/config/app.php

    'Rowland\LaravelBlog\LaravelBlogServiceProvider'

Run the package migration

    php artisan migrate --package=rowland/laravelblog

Publish the config

    php artisan config:publish rowland/laravelblog

Optionally tweak the settings in the many config files for your app

Optionally copy the administrator config file (`src/config/administrator/posts.php`) to your administrator model config directory.

Create the relevant image upload directories that you specify in your config, e.g.

    public/uploads/packages/rowland/laravelblog/main_image/original
    public/uploads/packages/rowland/laravelblog/main_image/thumbnail
    public/uploads/packages/rowland/laravelblog/main_image/resized

## Faker seed

The package comes with a seed that can populate the table with a whole bunch of sample posts. There are some configuration options for the seed in the config file. To run it:

    php artisan db:seed --class="Rowland\LaravelBlog\PostTableFakeSeeder"

## Configuration

See the many configuration options in the files in the config directory

## Administrator

You can use the excellent Laravel Administrator package by FrozenNode to administer your blog.

http://administrator.frozennode.com/docs/installation

A ready-to-use model config file for the Post model (posts.php) is provided in the src/config/administrator directory of the package, which you can copy into the app/config/administrator directory (or whatever you set as the model_config_path in the administrator config file).

## Usage

The package should work out the box (provided you have a master blade layout file, since the out-of-the-box views extend this)
 but if you want to add other content to the pages, such as your own header, logo, navigation, sidebar etc, you'll want to
 override the views provided.

The package views declare several sections that you may want to `yield` in your `app/views/layouts/master.blade.php` file, e.g.:

```html
<!DOCTYPE html>
<html>
<head>
	<title>@yield('title')</title>
	<meta name="description" content="@yield('meta_description')">
	<meta name="keywords" content="@yield('meta_keywords')">
</head>
<body>
<div class="content">
	@yield('content')
</div>
</body>
</html>
```

The package's views are actually really simple, and most of the presentation is done in partials. This is deliberate so you
 can override the package's views in your own app, so you can include your own chrome, navigation and sidebars etc, yet
 you can also still make use of the partials provided, if you want to.

To override any view in your own app, just create the following directories and copy the file from the package into it, then hack away
* `app/views/packages/rowland/laravelblog/posts`
* `app/views/packages/rowland/laravelblog/partials`

## Extending the package

This can be done for the purposes of say, relating the Post model to a Category model and allowing filtering by category,
 or relating the Post model to a User model to add and Author to a Post, or simply just for overriding the functionality
 in the bundled Post model.

### Basic approach
<commit_msg>chore: Edit README.md description<commit_after>Laravel Blog
============

A Laravel 5 ooglee-module to add a simple blog to a site

## Features

* Paginated index view with configurable results per page
* Year/Month archive filtering, including an archive partial that you can include in your own views (requires MySQL)
* Draft/Approved status and published date fields for approvals and scheduled publishing of posts
* Configurable URLs, e.g. /blog or /news/yyyy/mm or /articles/< article slug >
* Fields for title, slug, main image or YouTube Video ID, summary, content, link text and url for external links, is sticky?, published date, status, meta description and keywords, in RSS?
* Faker seed to seed your blog with loads of good test data
* Administrator config file for use with FrozenNode's Administrator package
* Bundled migration for building the database schema
* Extendable to add categories or tags relationships and filter by them, see below
*

## Installation

Add the following to you composer.json file (Recommend swapping "dev-master" for the latest release)

    "rowland/ooglee-blog": "dev-master"

Run

    composer update

Add the following to app/config/app.php

    'Ooglee\Domain\Providers\OogleBlogServiceProvider'

Publish the config, views, migration files

    php artisan vendor:publish


Optionally tweak the settings in the many config files for your app

Optionally copy the administrator config file (`src/config/administrator/posts.php`) to your administrator model config directory.

Create the relevant image upload directories that you specify in your config, e.g.

    public/uploads/vendor/rowland/ooglee-blog/main_image/original
    public/uploads/vendor/rowland/ooglee-blog/main_image/thumbnail
    public/uploads/vendor/rowland/ooglee-blog/main_image/resized

## Faker seed

The package comes with a seed that can populate the table with a whole bunch of sample posts. There are some configuration options for the seed in the config file. To run it:

    php artisan db:seed --class="Rowland\LaravelBlog\PostTableFakeSeeder"

## Configuration

See the many configuration options in the files in the config directory

## Administrator

You can use the excellent Laravel Administrator package by FrozenNode to administer your blog.

http://administrator.frozennode.com/docs/installation

A ready-to-use model config file for the Post model (posts.php) is provided in the src/config/administrator directory of the package, which you can copy into the app/config/administrator directory (or whatever you set as the model_config_path in the administrator config file).

## Usage

The package should work out the box (provided you have a master blade layout file, since the out-of-the-box views extend this)
 but if you want to add other content to the pages, such as your own header, logo, navigation, sidebar etc, you'll want to
 override the views provided.

The package views declare several sections that you may want to `yield` in your `app/views/layouts/master.blade.php` file, e.g.:

```html
<!DOCTYPE html>
<html>
<head>
	<title>@yield('title')</title>
	<meta name="description" content="@yield('meta_description')">
	<meta name="keywords" content="@yield('meta_keywords')">
</head>
<body>
<div class="content">
	@yield('content')
</div>
</body>
</html>
```

The package's views are actually really simple, and most of the presentation is done in partials. This is deliberate so you
 can override the package's views in your own app, so you can include your own chrome, navigation and sidebars etc, yet
 you can also still make use of the partials provided, if you want to.

To override any view in your own app, just create the following directories and copy the file from the package into it, then hack away
* `resources/views/vendor/rowland/ooglee-blog/posts`
* `resources/views/vendor/rowland/ooglee-blog/partials`

## Extending the package

This can be done for the purposes of say, relating the Post model to a Category model and allowing filtering by category,
 or relating the Post model to a User model to add and Author to a Post, or simply just for overriding the functionality
 in the bundled Post model.

### Basic approach

{'fraction_non_alphanumeric': 0.06992757924729906, 'fraction_numerical': 0.00023744509082274725, 'mean_word_length': 4.616, 'pattern_counts': {'":': 2, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7161192', 'n_tokens_mistral': 2310, 'n_tokens_neox': 2168, 'n_words': 1091}