GithubHelp home page GithubHelp logo

uatrend / pagekit Goto Github PK

View Code? Open in Web Editor NEW
22.0 5.0 6.0 28.25 MB

Pagekit CMS

License: MIT License

JavaScript 7.49% HTML 0.22% CSS 3.88% Vue 6.46% PHP 74.87% Less 7.09%
cms pagekit vue2 uikit3 update nojquery symfony5 tinymce pagekit-cms php74

pagekit's Introduction

Pagekit

Symfony Vue UIkit Build Status Discord

Preview summary
Pagekit Dashboard Pagekit home page
Installer languages Installer buttons option-back-next Installer select demo content
Editor settings Storage Modal starage
Page Edit Page theme settings Site theme settings
Theme-one Blog page Position page

Homepage - 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 One
  • Demo content

Download the latest build or install from source before installation.
The installation procedure is the same as in the official documentation.

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:

Removed 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.

Install from source

You can install Node dependencies, build the front-end components and run scripts via yarn.

Clone Repository

$ git clone [email protected]:uatrend/pagekit.git project-folder
$ cd project-folder

Install PHP dependencies

$ composer install

Install Node dependencies

$ yarn install

Scripts

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

Admin theme

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:

<body class=“dashboard”>

and for system Settings:

<body class=“system-settings”>

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)
  • Codemirror

Moved 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

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()

'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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.