diff --git a/README.md b/README.md index bc31c3160..b1af04d91 100644 --- a/README.md +++ b/README.md @@ -20,13 +20,13 @@ If you're interested in contributing to Pushword, please read our [contributing ## Credits -- [PiedWeb](https://piedweb.com) -- [All Contributors](https://github.com/Pushword/Core/graphs/contributors) +- [PiedWeb](https://piedweb.com) +- [All Contributors](https://github.com/Pushword/Core/graphs/contributors) ## License The MIT License (MIT). Please see [License File](https://pushword.piedweb.com/license#license) for more information.
diff --git a/composer.json b/composer.json index 3b08a32a0..7cd2f6093 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "piedweb/render-html-attributes": "^2.0.1", "piedweb/url-harvester": "^0.0.27", "sensio/framework-extra-bundle": "^5.6", - "sonata-project/admin-bundle": "dev-master#3512d192562ca4ac48c306388f5579982e2faf43", + "sonata-project/admin-bundle": "dev-master#f34ae30d169132b17f3151fa294a80c57247a8a9", "sonata-project/doctrine-orm-admin-bundle": "4.x-dev", "spatie/image-optimizer": "^1.3", "spatie/yaml-front-matter": "^2.0", diff --git a/docs/404.html b/docs/404.html index 011959f2c..affcdd049 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -
Un écrou semble s'être dévisser.
Merci de nous informer sur votre environnement lorsque cette erreur c'est produite.
Retour
Un écrou semble s'être dévisser.
Merci de nous informer sur votre environnement lorsque cette erreur c'est produite.
Retour
Are you searching for :
Else, you are at the good place.
The code for all officially maintained extension and the core is kept in an unique repository adopting the mono-repository.
The core contain the minimum features, then everything is done via extension.
Each extension are facultative.
Keeping all this extensions in one repository permit to test them easily, to understand the code easily and to code much quicker.
The skeleton isn't a real skeleton (copy and install).
It's used for testing, demo, using for generating the docs and a few class from skeleton are extracted by the default installer.
Each package (except skeleton, installer and js-helper) is built as a symfony bundle.
The core
package required a symfony app instaled to be functionnel.
When you know that, you just have to learn how to make a bundle for symfony and you will know how to make an extension for pushword.
There is some simple example like flat or more complex like conversation (and more respecting the symfony best practices).
Learn more about create an extension for Puswhord
Are you searching for :
Else, you are at the good place.
The code for all officially maintained extension and the core is kept in an unique repository adopting the mono-repository.
The core contain the minimum features, then everything is done via extension.
Each extension are facultative.
Keeping all this extensions in one repository permit to test them easily, to understand the code easily and to code much quicker.
The skeleton isn't a real skeleton (copy and install).
It's used for testing, demo, using for generating the docs and a few class from skeleton are extracted by the default installer.
Each package (except skeleton, installer and js-helper) is built as a symfony bundle.
The core
package required a symfony app instaled to be functionnel.
When you know that, you just have to learn how to make a bundle for symfony and you will know how to make an extension for pushword.
There is some simple example like flat or more complex like conversation (and more respecting the symfony best practices).
Learn more about create an extension for Puswhord
At any moment, you can get the avalaible command from symfony by typing php bin/console list
.
Now, let's see what command we have and how useful there are.
The list above may vary depending on installed extensions
To get more details on each command line, just type -h (eg php bin/console pushword:user:create -h
)
pushword
+ Manage your Pushword CMS with command Command
At any moment, you can get the avalaible command from symfony by typing php bin/console list
.
Now, let's see what command we have and how useful there are.
The list above may vary depending on installed extensions
To get more details on each command line, just type -h (eg php bin/console pushword:user:create -h
)
pushword
pushword:conversation:notify Send a mail (notification) with the latests messages stored (this comand is useful to program a cron).
pushword:flat:import Syncing flat file inside database
pushword:flat:export Export database toward file (yaml+json)
@@ -7,4 +7,4 @@
pushword:page:scan Find dead links, 404, 301 and more in your content.
pushword:static:generate Generate a static version for your website(s)
pushword:user:create Create a new user
-
Upgrade Guide Editor Edit via github
\ No newline at end of file
+
If you use the automatic installer, just open config/packages/pushword.yaml
and start configure your app(s).
The only important property to configure now is hosts (hosts: [localhost.dev]
). Then you are ready to use your website.
To get the up to date configuration's options :
php bin/console config:dump-reference PushwordCoreBundle
-
If you use the automatic installer, just open config/packages/pushword.yaml
and start configure your app(s).
The only important property to configure now is hosts (hosts: [localhost.dev]
). Then you are ready to use your website.
To get the up to date configuration's options :
php bin/console config:dump-reference PushwordCoreBundle
+
Source code is host on github.
Use the github issue tracker to signal an issue.
This project is open source, and as such, the maintainers give their free time to build and maintain the source code held within. They make the code freely available in the hope that it will be of use to other developers. It would be extremely unfair for them to suffer abuse or anger for their hard work.
Contributions are welcome.
Please, send your contribution via a github pull request on Puswhord/Puswhord.
The code is mainly organised in a mono-repo, learn more about the code architecture
The docs is inside the main repo, you will find write in markdown in packages/docs/content.
On each PR, the docs is compiled and published pushword.piedweb.com by a github action.
When requesting or submitting new features, first consider to create a dedicated extension.
If your extension reply to an important community need, you can create a pull request to merge it in this Mono Repo. It will permit to maintain easily it compatibility in next Puswhord update. Moreover, extension will be tested at each commit on one of Pushword's package.
Else, consider create it own git repo and create a Pull Request on the doc to add a link to this fresh extension. The link will be accepted if your extension is well tested and fully functionnal.
This project respect PSR-12 Coding standard. Before your pull-request, run php-cs-fixer
.
composer format
+ Contribute to Pushword : Documention, Core or Extension Contribute
Source code is host on github.
Signale an issue
Use the github issue tracker to signal an issue.
This project is open source, and as such, the maintainers give their free time to build and maintain the source code held within. They make the code freely available in the hope that it will be of use to other developers. It would be extremely unfair for them to suffer abuse or anger for their hard work.
Contribute
Contributions are welcome.
Please, send your contribution via a github pull request on Puswhord/Puswhord.
The code is mainly organised in a mono-repo, learn more about the code architecture
Contribute to the documentation
The docs is inside the main repo, you will find write in markdown in packages/docs/content.
On each PR, the docs is compiled and published pushword.piedweb.com by a github action.
Pull Requests
New Features
When requesting or submitting new features, first consider to create a dedicated extension.
If your extension reply to an important community need, you can create a pull request to merge it in this Mono Repo. It will permit to maintain easily it compatibility in next Puswhord update. Moreover, extension will be tested at each commit on one of Pushword's package.
Else, consider create it own git repo and create a Pull Request on the doc to add a link to this fresh extension. The link will be accepted if your extension is well tested and fully functionnal.
Coding standards
This project respect PSR-12 Coding standard. Before your pull-request, run php-cs-fixer
.
composer format
Tests
composer test
# and to test with --prefer-lowest
composer tests
-
Other Requirements
This attention would be nice :
Add tests
Document any change in behaviour - Make sure the documentation are kept up-to-date.
Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.
One pull request per feature - If you want to do more than one thing, send multiple pull requests.
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
Happy coding!
Create an extension The Architecture Edit via github
\ No newline at end of file
+
This attention would be nice :
Add tests
Document any change in behaviour - Make sure the documentation are kept up-to-date.
Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.
One pull request per feature - If you want to do more than one thing, send multiple pull requests.
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
Happy coding!
Each extension is built as a symfony bundle.
When you know that, you just have to learn how to create a bundle for symfony and you will know how to make an extension for Pushword.
There is some simple example like flat or more complex like conversation.
If you don't want to share your extension, you don't need to build a bundle, just go in ./src
and start coding following symfony concept.
Each extension is built as a symfony bundle.
When you know that, you just have to learn how to create a bundle for symfony and you will know how to make an extension for Pushword.
There is some simple example like flat or more complex like conversation.
If you don't want to share your extension, you don't need to build a bundle, just go in ./src
and start coding following symfony concept.
After installing the admin, you will be able to read this doc directly from your Pushword installation at /admin/markdown-cheatsheet
.
## Title 2 (h2)
+ Editor Hidden Super Power - Cheatsheet Pushword Editor Hidden Super Power
and Markdown Cheatsheet
After installing the admin, you will be able to read this doc directly from your Pushword installation at /admin/markdown-cheatsheet
.
Title and subtitle
Title 2 (h2)
Title 3 (h3)
Title 4 (h4)
Title 5 (h5)
Title 6 (h6)
## Title 2 (h2)
### Title 3 (h3)
### Title 4 (h4)
#### Title 5 (h5)
@@ -41,4 +41,4 @@
{{ children(page, $number = 3)|unprose }}
{{ cardchildren(page, $number = 3)|unprose }}
Redirection
Votre contenu doit contenir uniquement :
Location: http://example.eg/
Others
container
class pour le contenant du contenu.
feeds
array(type, uri, title)
template
(default: /page/page.html.twig
)
main_image_multiple
-Plusieurs images en fonction d'un hash contenu dans l'url (ex: winter:/media/defaut/winter.jpg;summer:/media/defaut/summer.jpg
)
toc
(: true) : active le sommaire
Tout autre Autres Paramètres peut êgalement être appelé directement dans la page {{ page.customParam }}
Command Find a Theme Edit via github
\ No newline at end of file
+Plusieurs images en fonction d'un hash contenu dans l'url (ex: winter:/media/defaut/winter.jpg;summer:/media/defaut/summer.jpg
) toc
(: true) : active le sommaire
Tout autre Autres Paramètres peut êgalement être appelé directement dans la page {{ page.customParam }}
Location: /extensions
Location: /extensions
Create, edit, delete Page, Media, User with an interface built on top of Sonata Admin.
composer require pushword/admin
+ Standard Admin for Pushword : Admin User Interface Admin
Create, edit, delete Page, Media, User with an interface built on top of Sonata Admin.
Contents
Install
composer require pushword/admin
Add Routes
admin:
resource: '@PushwordAdminBundle/AdminRoutes.yaml'
# or do it in 1 command line
# $ sed -i '1s/^/admin:\n resource: "@PushwordAdminBundle\/AdminRoutes.yaml"\n/' config/routes.yaml
-
Edit via github
\ No newline at end of file
+
Extend your Pushword website with comments, a contact form or just an user input.
Via Packagist :
# Get the Bundle
+ Conversation: Add Comment, Newsletter Form or Contact For Conversation
Extend your Pushword website with comments, a contact form or just an user input.
Install
Via Packagist :
# Get the Bundle
composer require pushword/conversation
# Add the route to your Routes:
@@ -31,4 +31,4 @@
Get mail notification for new message
Configure the bundle (piedweb_conversation.notification_email_to
) and programm a cron :
bin/console pushword:conversation:notify
Customization
Small rendering customization
By overriding @PushwordConversation/conversation/conversation.html.twig
(or '@PushwordConversation/conversation/'.$type.'Step'.$step.'.html.twig
-or '@PushwordConversation/conversation/'.$type.$referring.'Step'.$step.'.html.twig
).
Create a new form
Per default, there is 3 form types : newsletter
, message
and multiStepMessage
.
Add a new class in config piedweb_conversation.form.myNewType: myNewFormClass
.
Edit via github
\ No newline at end of file
+or '@PushwordConversation/conversation/'.$type.$referring.'Step'.$step.'.html.twig
). Create a new form
Per default, there is 3 form types : newsletter
, message
and multiStepMessage
.
Add a new class in config piedweb_conversation.form.myNewType: myNewFormClass
.
Write from Facebook on your page managed by Pushword.
composer require pushword/facebook
+ Write from Facebook on Pushword CMS Facebook
Write from Facebook on your page managed by Pushword.
Install
composer require pushword/facebook
Usage
For now, this extension just permit to show last post from a page.
{{ facebook_last_post('Google') }}
# will return the last post from Google's Facebook Page render via /component/FacebookLastPost.html.twig
{% set fb_last_post_meta_data = facebook_last_post('Google', '') %}
# will return an array
-
Override default theme
Create a /component/FacebookLastPost.html.twig
in your app template directory.
Edit via github
\ No newline at end of file
+
Create a /component/FacebookLastPost.html.twig
in your app template directory.
Transform Pushword in a FlatFile CMS.
composer require pushword/flat-file
+ Puswhord Flat File CMS - Markdown and Twig Ready Flat
Transform Pushword in a FlatFile CMS.
Contents
Install
composer require pushword/flat-file
Configure (if needed)
Globally under pushword_static_generator
(in config/packages
).
Or for multi-sites in config/package/pushword.yaml
.
...:
flat_content_dir: content #default value
Usage
Command Line
php bin/console pushword:flat:import $host
@@ -37,4 +37,4 @@
"createdAt": "now",
"updatedAt": "now"
}
-
Edit via github
\ No newline at end of file
+
Find dead links, 404, 301 and more (command line or admin).
composer require pushword/page-scanner
+ Pushword Page Scanner : Find dead links, 404, 301 and more. Page Scanner
Find dead links, 404, 301 and more (command line or admin).
Install
composer require pushword/page-scanner
Add Routes
page_scanner:
resource: '@PushwordPageScannerBundle/PageScannerRoutes.yaml'
# or do it in 1 command line
# $ sed -i '1s/^/page_scanner:\n resource: "@PushwordPageScannerBundle\/PageScannerRoutes.yaml"\n/' config/routes.yaml
Command
php bin/console pushword:page:scan $host
-
Edit via github
\ No newline at end of file
+
Get mail notification when your pushword content (page) is edited.
composer require pushword/page-update-notifier
+ Be notify when a page is edited on your Pushword CMS Page Update Notifier
Get mail notification when your pushword content (page) is edited.
Install
composer require pushword/page-update-notifier
Configure
Add in your current config/package/pushword.yaml
for an App or globally under pushword_page_update_notifier:
notifier_email: fromMe@example.tld
page_update_notification_mail: NotificationForMe@example.tld
interval: 'P1D' #See PHP DateInterval format https://www.php.net/manual/fr/class.dateinterval.php
-
Usage
Nothing to do, just get notify. On postPersist/postUpdate, the extension check if you didn't get notify till too long (interval
), then, send the last edit since interval
.
Edit via github
\ No newline at end of file
+
Nothing to do, just get notify. On postPersist/postUpdate, the extension check if you didn't get notify till too long (interval
), then, send the last edit since interval
.
Generate a static website serve by github pages, apaches with one command or via the admin.
composer require pushword/template-editor
+ Static Website Generator with Pushword CMS Static Generator
Generate a static website serve by github pages, apaches with one command or via the admin.
Install
composer require pushword/template-editor
Add Routes
static:
resource: '@PushwordStaticGeneratorBundle/StaticRoutes.yaml'
# or do it in 1 command line
@@ -14,4 +14,4 @@
# (re)Generate only one page
php bin/console pushword:static:generate $host $slug
-
Edit via github
\ No newline at end of file
+
Add SVG with ease in your main content or in a template file via a twig function.
composer require pushword/svg
+ Insert SVG/Icon in your content - Pushword CMS SVG
Add SVG with ease in your main content or in a template file via a twig function.
Install
composer require pushword/svg
Usage
By default, this extension use FontAwesome 5.15. You just need to use twig svg
function :
svg('surprise')
-
Will show
Configure
By default, this extension load FontAwesome 5.15's icons. You can choose to use your custom SVG icons by specifyng the svg_dir
in your app config or under pushword_svg
.
Edit via github
\ No newline at end of file
+
Will show
By default, this extension load FontAwesome 5.15's icons. You can choose to use your custom SVG icons by specifyng the svg_dir
in your app config or under pushword_svg
.
Edit view file online in the admin.
composer require pushword/template-editor
+ Template Editor with Pushword CMS Template Editor
Edit view file online in the admin.
Contents
Install
composer require pushword/template-editor
Add Routes
template_editor:
resource: '@PushwordTemplateEditorBundle/TemplateEditorRoutes.yaml'
# or do it in 1 command line
# $ sed -i '1s/^/template_editor:\n resource: "@PushwordTemplateEditorBundle\/TemplateEditorRoutes.yaml"\n/' config/routes.yaml
-
Edit via github
\ No newline at end of file
+
Versioning pages with Pushword CMS.
composer require pushword/version
+ Page Versioning for Pushword CMS Version
Versioning pages with Pushword CMS.
Install
composer require pushword/version
Add Routes
admin:
resource: "@PushwordVersionBundle/VersionRoutes.yaml"
# or do it in 1 command line
# $ sed -i '1s/^/version:\n resource: "@PushwordVersionBundle\/VersionRoutes.yaml"\n/' config/routes.yaml
-
Usage
This extension automatically (event sucriber on page update and persist) store a serialized version of the current page.
It adds a new admin (reachable for each page under created at field) wich list all versions for a page.
Then you can switch from one or an other version (identified by it h1 and the *_updated date_).
Does it work with Flat ?
Yes, but you need to install admin extension to able to restore a previous version from a page. Else you can use a Versioning tool like git.
Edit via github
\ No newline at end of file
+
This extension automatically (event sucriber on page update and persist) store a serialized version of the current page.
It adds a new admin (reachable for each page under created at field) wich list all versions for a page.
Then you can switch from one or an other version (identified by it h1 and the *_updated date_).
Yes, but you need to install admin extension to able to restore a previous version from a page. Else you can use a Versioning tool like git.
Add your own extension editing this file on github.
Add your own extension editing this file on github.
Puswhord is a PHP CMS to rapidly create, manage and maintain extandable Website(s).
It’s
With Pushword managing multi-site, internationalization and page vesioning is so simple.
See how to install and test Pushword in less than one minute :
Or look at the detailled features or directly the source code (monorepo).
Pushword run on a classic PHP environnement (and Composer). You have this on your machine or just a cheap shared host ? So you are able to install it in a few seconds.
Learn more about requirements and installation.
By default, it works without dirty work. It looks so simple. But don't be wrong, you can do amazing custom thing with it !
To create Multiple sites with multiple languages (i18n) and managing them on multiple domains you don't need to extend the core. Simple site and complex content network can be managed easily with Pushword without extension.
You want a blog or a documentation website ? Just install Pushword and play.
Want another feature ? Look at the extensions.
Not finding the one you want ? Pushword is built as a symfony bundle so just extend your research to them or find an expert developper to make your wish reality.
Pushword offers the two ways to manage a site : a simple, functionnable and efficient default Admin, if you come from Wordpress, you will find your way easily or a powerfull flat-file CMS, you will be able to edit your content or your template files from where you want (nextcloud folder, custom editor, git compatible...).
Default editor use Markdown/Html with extended features (video, responsive image, encrypted link...).
A block editor is planned and will be released soon.
Thanks to Tailwind CSS and the Twig Template Engine, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website grzcyngr -->
Thanks to Tailwind CSS and the Twig Template Engine, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website assets and template files.
Symfony upgrade your developpement process : the famous framework come with autowiring, event suscriber, large community and good documentation !
link alternate hreflang
) easy way ... and more to discover, just install it in a few seconds, browse the code or read the docs.
Puswhord is a PHP CMS to rapidly create, manage and maintain extandable Website(s).
It’s
With Pushword managing multi-site, internationalization and page vesioning is so simple.
See how to install and test Pushword in less than one minute :
Or look at the detailled features or directly the source code (monorepo).
Pushword run on a classic PHP environnement (and Composer). You have this on your machine or just a cheap shared host ? So you are able to install it in a few seconds.
Learn more about requirements and installation.
By default, it works without dirty work. It looks so simple. But don't be wrong, you can do amazing custom thing with it !
To create Multiple sites with multiple languages (i18n) and managing them on multiple domains you don't need to extend the core. Simple site and complex content network can be managed easily with Pushword without extension.
You want a blog or a documentation website ? Just install Pushword and play.
Want another feature ? Look at the extensions.
Not finding the one you want ? Pushword is built as a symfony bundle so just extend your research to them or find an expert developper to make your wish reality.
Pushword offers the two ways to manage a site : a simple, functionnable and efficient default Admin, if you come from Wordpress, you will find your way easily or a powerfull flat-file CMS, you will be able to edit your content or your template files from where you want (nextcloud folder, custom editor, git compatible...).
Default editor use Markdown/Html with extended features (video, responsive image, encrypted link...).
A block editor is planned and will be released soon.
Thanks to Tailwind CSS and the Twig Template Engine, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website grzcyngr -->
Thanks to Tailwind CSS and the Twig Template Engine, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website assets and template files.
Symfony upgrade your developpement process : the famous framework come with autowiring, event suscriber, large community and good documentation !
link alternate hreflang
) easy way ... and more to discover, just install it in a few seconds, browse the code or read the docs.
Puswhord is a PHP CMS to rapidly create, manage and maintain extandable Website(s).
It make it easy to create amazing searchable websites findable on google.
Bonus, managing multi-site, internationalization and page vesioning is so simple.
Want a demo ? This website is built with Pushword with flat file management !
See how to install and test Pushword in less than one minute...
Or look at the detailled features :
Pushword run on a classic up to date PHP environnement (and Composer). You have this on your machine or just a cheap shared host ? So you are able to install it in a few seconds.
Learn more about requirements and installation.
By default, it works without dirty work. It looks so simple. But don't be wrong, you can do amazing custom thing with it !
PHP 7 // PHP 8 // Symfony5
To create Multiple sites with multiple languages (i18n) and managing them on multiple domains you don't need to extend the core. Simple site and complex content network can be managed easily with Pushword without extension.
You want a blog or a documentation website ? Just install Pushword and play.
Want another feature ? Look at the extensions.
Not finding the one you want ? Pushword is built as a symfony bundle so just extend your research to them or find an expert developper to make your wish reality.
Pushword offers the two ways to manage a site : a simple, functionnable and efficient default Admin, if you come from Wordpress, you will find your way easily or a powerfull flat-file CMS, you will be able to edit your content or your template files from where you want (nextcloud folder, custom editor, git compatible...).
Default editor use Markdown/Html with extended features (video, responsive image, encrypted link...).
A block editor is planned and will be released soon.
Thanks to Tailwind CSS and Twig, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website assets and template files.
Pushword was first crafted by a seo and developper guy. Being on the first page of search result matters !
So, of course, Pushword manage title, h1, description, nice url.
But discover more SEO feature like health checker (dead links checker), internal links improver (suggest links to add in your content) and more...
Woring about speed ? If default installation is not fast enough for you, you will fall in love with the Static Website Generator.
Pushword is crafted to last. Source code is hight quality, open source and well tested.
Bringing a new feature or refactor your code will be painless. Thanks to symfony best practices, it will last in the time.
Puswhord is a PHP CMS to rapidly create, manage and maintain extandable Website(s).
It make it easy to create amazing searchable websites findable on google.
Bonus, managing multi-site, internationalization and page vesioning is so simple.
Want a demo ? This website is built with Pushword with flat file management !
See how to install and test Pushword in less than one minute...
Or look at the detailled features :
Pushword run on a classic up to date PHP environnement (and Composer). You have this on your machine or just a cheap shared host ? So you are able to install it in a few seconds.
Learn more about requirements and installation.
By default, it works without dirty work. It looks so simple. But don't be wrong, you can do amazing custom thing with it !
PHP 7 // PHP 8 // Symfony5
To create Multiple sites with multiple languages (i18n) and managing them on multiple domains you don't need to extend the core. Simple site and complex content network can be managed easily with Pushword without extension.
You want a blog or a documentation website ? Just install Pushword and play.
Want another feature ? Look at the extensions.
Not finding the one you want ? Pushword is built as a symfony bundle so just extend your research to them or find an expert developper to make your wish reality.
Pushword offers the two ways to manage a site : a simple, functionnable and efficient default Admin, if you come from Wordpress, you will find your way easily or a powerfull flat-file CMS, you will be able to edit your content or your template files from where you want (nextcloud folder, custom editor, git compatible...).
Default editor use Markdown/Html with extended features (video, responsive image, encrypted link...).
A block editor is planned and will be released soon.
Thanks to Tailwind CSS and Twig, you will be able to customize the default theme rapidly if you master html and css.
Maybe you will prefer rebuild your own custom theme. Do as you wish, you use Pushword.
Want to see how easy it is ? See this documentation website assets and template files.
Pushword was first crafted by a seo and developper guy. Being on the first page of search result matters !
So, of course, Pushword manage title, h1, description, nice url.
But discover more SEO feature like health checker (dead links checker), internal links improver (suggest links to add in your content) and more...
Woring about speed ? If default installation is not fast enough for you, you will fall in love with the Static Website Generator.
Pushword is crafted to last. Source code is hight quality, open source and well tested.
Bringing a new feature or refactor your code will be painless. Thanks to symfony best practices, it will last in the time.
curl https://raw.githubusercontent.com/Pushword/Pushword/main/packages/installer/src/installer >> installer && chmod +x installer && ./installer ./my-folder
+ Install Pushword in a few seconds (automatic installer) Installation
Requirements
- PHP 7.4
- PHP extensions : dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, fileinfo
- Composer (how to install composer)
Automatic installer via CLI (unix)
curl https://raw.githubusercontent.com/Pushword/Pushword/main/packages/installer/src/installer >> installer && chmod +x installer && ./installer ./my-folder
Manual installation
Look in the shell script installer where each step is describe.
Update
Stay up to date with only one command :
composer update
-
Introduction Configuration Edit via github
\ No newline at end of file
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The default installer copy/paste a skeleton for a website colored with tailwindcss.
To update it juste go in ./assets
and edit app.js
, app.css
, directly the tailwind configuration or the webpack.config.js
.
Then run wepback :
yarn && yarn encore (dev|production)
-
If you want to change the default location for assets, just edit ./config/packages/pushword.yaml
and configure apps.0.assets
(eg)
The default installer copy/paste a skeleton for a website colored with tailwindcss.
To update it juste go in ./assets
and edit app.js
, app.css
, directly the tailwind configuration or the webpack.config.js
.
Then run wepback :
yarn && yarn encore (dev|production)
+
If you want to change the default location for assets, just edit ./config/packages/pushword.yaml
and configure apps.0.assets
(eg)
There is multiple way to override the default theme.
Simplest way is to override it (partially or completly) by create a new file in ./templates/{$host}/page
naming it like the default one
Eg: Overriding the default navbar can be done creating a file ./templates/{$host}/page/_navbar.html.twig
.
You can see how it's handle for the documentation.
There is multiple way to override the default theme.
Simplest way is to override it (partially or completly) by create a new file in ./templates/{$host}/page
naming it like the default one
Eg: Overriding the default navbar can be done creating a file ./templates/{$host}/page/_navbar.html.twig
.
You can see how it's handle for the documentation.
0 theme avalaible, it's so easy to customize your website using tailwind and overriding template files.
If you create a theme, felle free to edit this file on github to list it on this page.
It's exactly like creating an extension.
0 theme avalaible, it's so easy to customize your website using tailwind and overriding template files.
If you create a theme, felle free to edit this file on github to list it on this page.
It's exactly like creating an extension.
Smooth way is to use composer, a dependency manager for PHP.
Run composer update
and the job is done (almost).
If you are doing a major upgrade, find the upgrade guide down there.
pushword/core
(composer + src/Entity) pushword/admin
, have a look in the extensions list) Delete symlinks in config/packages
Update database
bin/console make:migration && bin/console doctrine:migrations:migrate
+ Upgrade a Pushword installation Upgrade Guide
Smooth way is to use composer, a dependency manager for PHP.
Run composer update
and the job is done (almost).
If you are doing a major upgrade, find the upgrade guide down there.
Contents
From PiedWeb/CMS 0.0.86 to Pushword
- switch dependencies from piedweb/cms to
pushword/core
(composer + src/Entity) - install required extension (like
pushword/admin
, have a look in the extensions list) Delete symlinks in config/packages
Update database
bin/console make:migration && bin/console doctrine:migrations:migrate
Update config by moving static under apps where first host is static.domain.
...
apps:
- {hosts: [mywebsite.com, preprod.mywebsite.com], base_url: https://mywebsite.com}
-
Delete feed*.xml
and sitemap*
files in public
Maybe twig config file throw an error, read & fix
Search for all <!--
in mainContent
and put them in customProperties
's textarea
Configuration Command Edit via github
\ No newline at end of file
+
Delete feed*.xml
and sitemap*
files in public
Maybe twig config file throw an error, read & fix
Search for all <!--
in mainContent
and put them in customProperties
's textarea