Package Data | |
---|---|
Maintainer Username: | michalcarson |
Maintainer Contact: | michal.carson@carsonsoftwareengineering.com (Michal Carson) |
Package Create Date: | 2015-08-23 |
Package Last Update: | 2017-03-11 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-23 03:24:50 |
Package Statistics | |
---|---|
Total Downloads: | 36 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 4 |
Total Forks: | 1 |
Total Open Issues: | 0 |
This package is a Content Management System for Laravel 5.1. It could be used for a simple blog. Articles within the system are divided into categories--as many as you like. Security is based on the categories; users may have access to read, create, edit, delete, publish and unpublish within each category separately from other categories.
On your site, each category resides under a unique path. You could have a category named "Geoffrey's Wild Tales" with a path of "pilgrimages." The URL to this category would look like http://domain.com/pilgrimages and articles would look like http://domain.com/pilgrimages/a-worthy-man.
Content in the system uses Markdown syntax for formatting. We are using Pen as an editor with its optional markdown export option.
This project makes an honest effort to support localization and assistive technologies. Feel free to point out areas for improvement.
Security features are not yet implemented. Currently, anyone who can log in to the site will be able to create, edit and delete articles in any category.
There seem to be some issues with the Markdown editing.
See the basic usage guide or follow the steps below. This command
will download composer.phar
to the current directory.
curl -s http://getcomposer.org/installer | php
For an existing project, add newmarkets/content
to the require
section of your composer.json
file.
"require": {
"newmarkets/content": "*"
}
Install dependencies with Composer. This will download and install NewMarket Content Management and other packages it requires (and possibly other packages that they require, etc).
php composer.phar install
You can also do this in one step using Composer's require command.
php composer.phar require newmarkets/content
If this is a new project, first run the following command. Composer will install Laravel, then invoke Laravel to
build a skeleton application in a new directory named newproject
(or whatever name you provide).
php composer.phar create-project laravel/laravel newproject
Edit the composer.json
file and add an entry for minimum-stability
. You may change this setting later.
This is temporarily necessary because newmarkets/content
is not yet in a released state.
"minimum-stability": "dev"
Now run the following from the command line. This will install the content system and add newmarkets/content
to the composer.json
file.
cd newproject
php composer.phar require newmarkets/content
New projects need to configure the web server and set up a database at this point. The document root for a Laravel
site is the /public
directory. Database connection information should go into the .env
file at the root of the
project. Remember to set permissions on the /storage
directory so the web server user can write files there. Pull
up the home page of the new site before continuing to make sure everything is working.
Add the service provider to your Laravel configuration in newproject/config/app.php
. There will be a big array
of providers. Insert this one anywhere in the list (recommedation: put it at the bottom).
return [
'providers' => [
NewMarket\Content\Providers\ContentServiceProvider::class
]
];
Run the content:install
command via Artisan to set up database tables and
copy views, config files, javascript files and CSS into your application directories.
(For an alternative installation method, see Customization below.)
php artisan content:install
The content management system will run at this point. You can find it under http://yourdomain.com/cms (the "cms" part can be changed--see the next section). You will need to log in to add your first category. New projects need to set up authentication routes, views and database tables. Laravel makes this fairly painless; review the Authentication Quickstart.
In addition to the steps in the Authentication Quickstart, there are two important additional steps. Set the url
correctly in config/app.php
. And run a migration to set up the authentication tables.
php artisan migrate
There are many settings in the configuration file to help you make this system conform to your design.
Review those settings in config/content.php
. If you don't see that file in your application, see the next
section for the Artisan command that will copy it there.
The most important settings are extends
and yields
.
These two control how your content renders into your existing site templates. If you are new to Laravel,
review the Blade documentation.
You will probably want to customize the templates and CSS. You may want to change some configuration options.
If you modify the files in the vendor/newmarkets/content
directory, Composer may wipe out your changes the next
time you install
or update
packages. You need a safe copy to make your changes. To get copies of all files that
you can work with, run the Artisan vendor:publish command.
php artisan vendor:publish
This will publish any vendor content into your application directories. You can make changes to these files and Composer will leave them alone.
You may want to be a little more discriminating. To publish only this package, add the --provider
tag.
php artisan vendor:publish --provider="NewMarket\Content\Providers\ContentServiceProvider"
If you only want the views, the config file or the public files, add the --tag
option to the Artisan command.
Like so:
php artisan vendor:publish --tag="config"
You can combine the --tag
option with the --provider
option. You can delete any
configuration options from the config/content.php
file that you are not changing.
Contributions are invited. All contributions--new features or bug fixes--must include tests.
To run the test suite, simply run phpunit
in the root of the
directory (even if that is /vendor/newmarkets/content). Please make sure to add tests
and run the test suite before submitting pull requests for any contributions.
Translators are very welcome. To build a new language translation, copy the translations/en/messages.php
file into a new directory using the standard ISO abbreviation for the language.
For instance, the translation file for French would go in translations/fr/messages.php
.
Leave all of the keys in the array unchanged. Translate the right-hand side
(the array values) into the target language. Don't translate any word that begins
with a colon (:). The vertical bar separates singular and plural forms of the word.
Licensed under the MIT license.