Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uatrend/pagekit
Pagekit CMS
https://github.com/uatrend/pagekit
cms nojquery pagekit pagekit-cms php74 symfony5 tinymce uikit3 update vue2
Last synced: 4 months ago
JSON representation
Pagekit CMS
- Host: GitHub
- URL: https://github.com/uatrend/pagekit
- Owner: uatrend
- License: mit
- Created: 2019-03-21T16:37:27.000Z (almost 6 years ago)
- Default Branch: develop
- Last Pushed: 2022-09-12T08:43:25.000Z (over 2 years ago)
- Last Synced: 2024-09-29T20:01:36.143Z (4 months ago)
- Topics: cms, nojquery, pagekit, pagekit-cms, php74, symfony5, tinymce, uikit3, update, vue2
- Language: PHP
- Homepage:
- Size: 27.6 MB
- Stars: 22
- Watchers: 5
- Forks: 6
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Pagekit
[![Symfony](https://img.shields.io/badge/symfony-5.1.7-blue)](https://github.com/symfony/symfony)
[![Vue](https://img.shields.io/badge/vue-2.6.12-green)](https://github.com/vuejs/vue)
[![UIkit](https://img.shields.io/badge/uikit-3.5.8-blue)](https://github.com/uikit/uikit)
[![Build Status](https://travis-ci.org/uatrend/pagekit.svg?branch=develop)](https://travis-ci.org/uatrend/pagekit)
[![Discord](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/e7Kw47E)Preview summary
[Homepage](http://pagekit.com) - Official home page.
This is an updated build Pagekit CMS (for developers).
Build includes the following updated components:
- Pagekit CMS 1.0.18
- Blog extension
- [Admin theme](#theme)
- Theme One
- Demo contentDownload the latest [build](https://github.com/uatrend/pagekit/releases) or [install from source](#install) before installation.
The installation procedure is the same as in the official [documentation](https://pagekit.com/docs/getting-started/installation).Marketplace functionality like install, update and remove works the same like in original version.
**Note!** Before enabling extensions, update them for compatibility. Debug mode and debug panel work the same as in the main version.------
## Major changes:
- Required PHP Version - 7.4+
- Used UIkit 3 and Vue 2 frameworks
- Updated Symfony and Composer frameworks
- [Updated Composer dependencies](https://github.com/uatrend/pagekit/blob/develop/composer.json)
- [Updated Node dependencies](https://github.com/uatrend/pagekit/blob/develop/package.json)
- Updated PHP core components
- Updated Javascript core componentsRemoved jQuery from all scripts. UIkit functions are used instead. Several bugs that are present in the original assembly have been fixed, some styles have been changed for ease of use. The mobile version has remained the same with minor changes.
You can [install Node dependencies, build the front-end components](#node) and run [scripts](#scripts) via [yarn](https://yarnpkg.com/).
Clone Repository
```
$ git clone [email protected]:uatrend/pagekit.git project-folder
$ cd project-folder
```Install PHP dependencies
```
$ composer install
``````
$ yarn install
```Javascript watch or compile:
```
$ yarn watch-js
$ yarn compile-js
```To build in production mode:
```
$ yarn compile-js --mode=production
```LESS watch or compile:
```
$ yarn watch-less
$ yarn compile-less
```JS/LESS watch at the same time:
```
$ yarn watch-all
```ESlint lint or watch ```*.js/*.vue``` files:
```
$ yarn lint
$ yarn lint-watch
```CLDR locale data:
```
$ yarn cldr
```Copying required assets:
```
$ yarn assets
```Theme is fully compatible with **UIkit 3**.
Reworked scripts, layout and colors. Added side and top menus with dropdowns. Removed unused styles.For individual markup of each page, added a class page in the body tag automatically generated through PHP.
For example, body class for dashboard page looks like:
```html
```
and for system Settings:```html
```
## Theme icons
```uikit-icons.js``` are now used for Pagekit icons.## Editor Settings
You can choose the default editor in the system settings:
- HTML Editor
- Tinymce (with split mode option)
- CodemirrorMoved all editors dependencies to ```editor/assets``` folder.
## Theme Plugin
(added to core ```/app/system/app/lib/theme.js```)
Ability to programmatically configure the buttons, dropdown lists, pagination and search form in the top menu for each component used (see code).
Example: dashboard - ```index.js```
```javascript
name: 'dashboard',mixins: [Theme.Mixins.Helper],
...
theme: {
hideEls: '#dashboard > div:first-child > div:last-child',
elements() {
var vm = this;
return {
addwidget: {
scope: 'topmenu-left',
type: 'dropdown',
caption: 'Add Widget',
class: 'uk-button uk-button-text',
icon: { attrs: { 'uk-icon': 'triangle-down' }},
dropdown: { options: () => 'mode: click' },
items: () => vm.getTypes().map((type) => {
let props = {
on: {click: () => vm.add(type)},
caption: type.label,
class: 'uk-dropdown-close'
}
return {...type, ...props}
}),
}
}
}
}
```Adding side menu items through PHP - ```$view->$data()```
```php
'view.data' => function ($event, $data) use ($app) {
if (!$app->isAdmin()) {
return;
}
$data->add('Theme', [
'SidebarItems' => [
'additem' => [
'addpost' => [
'caption' => 'Add Post',
'attrs' => [
'href' => $app['url']->get('admin/blog/post/edit')
],
'priority' => 1
]
]
]
]);
}
```------
Thanks to Yootheme and developers!
Feel free to ask any questions - I will answer as much as possible.