Twill is an open source CMS toolkit for Laravel that helps developers rapidly create a custom admin console that is intuitive, powerful and flexible. /// Chat with us and others on Spectrum: https://spectrum.chat/twill

Overview

Build Status Latest Stable Version Total Downloads License

About Twill

Twill is an open source Laravel package that helps developers rapidly create a custom CMS that is beautiful, powerful, and flexible. By standardizing common functions without compromising developer control, Twill makes it easy to deliver a feature-rich admin console that focuses on modern publishing needs.

Twill is an AREA 17 product. It was crafted with the belief that content management should be a creative, productive, and enjoyable experience for both publishers and developers.

Benefits overview

With a vast number of pre-built features and custom-built Vue.js UI components, developers can focus their efforts on the unique aspects of their applications instead of rebuilding standard ones.

Built to get out of your way, Twill offers:

  • No lock-in, create your data models or hook existing ones
  • No front-end assumptions, use it within your Laravel app or headless
  • No bloat, turn off features you don’t need
  • No need to write/adapt HTML for the admin UI
  • No limits, extend as you see fit

Learning Twill

If you use Laravel, you already know Twill. It embraces Laravel to the fullest extent and encourages you to write beautiful code. To get started, read our documentation. If you'd like to hire us for implementation or support, contact us. We're here to discuss your plans, evaluate your needs, make recommendations, and give you a full walk-thru of Twill.

Credits

Over the last 15 years, nearly every engineer at AREA 17 has contributed to Twill in some capacity. However, Twill in its current form as an open source initiative was created by:

  • Quentin Renard, lead application engineer
  • Antoine Doury, lead interface engineer
  • Antonin Caudron, interface engineer
  • Martin Rettenbacher, product designer
  • Jesse Golomb, product owner
  • George Eid, product manager

With contributions from Laurens van Heems, Fernando Petrelli, Gilbert Moufflet, Mubashar Iqbal, Pablo Barrios, Luis Lavena, and Mike Byrne.

Contributing

We look forward to your contribution to make Twill the best it can be. You can find our contribution guidelines in the Twill documentation.

Security vulnerabilities

If you discover a security vulnerability within Twill, please email us at [email protected]. All security vulnerabilities will be promptly addressed.

License

The Twill software is licensed under the Apache 2.0 license. The Twill UI, including but not limited to images, icons, patterns, and derivatives thereof are licensed under the Creative Commons Attribution 4.0 International License.

Attribution

By using the Twill UI, you agree that any application which incorporates it shall prominently display the message “Made with Twill” in a legible manner in the footer of the admin console. This message must open a link to Twill.io when clicked or touched. For permission to remove the attribution, contact us at [email protected].

Trademark

Twill and the Twill logo are trademarks of AREA 17. You may not display or invoke the Twill name or logo in a manner that implies a relationship or affiliation with, sponsorship, promotion, or endorsement by Twill or AREA 17, except as authorized by the terms of attribution.

Copyright © AREA 17

Comments
  • All local asset urls broken

    All local asset urls broken

    Trying to demo this on Valet and i've defined my APP_URL as well as the ADMIN_APP_URL and I finally managed to log in but none of the styles/js assets are loading because they are referencing localhost:8080 and not twill.test like i've defined...

    Looks like a promising product but the docs and setup process could be well improved.

    opened by sebszocinski 29
  • Edit form doesn't load

    Edit form doesn't load

    I'm following the documentation to add Twill (1.2.) on a fresh install (php ^7.1.3 & laravel 5.7.).

    For now, I only set these env values on the .env:

    MEDIA_LIBRARY_ENDPOINT_TYPE=local
    MEDIA_LIBRARY_LOCAL_PATH=uploads/
    FILE_LIBRARY_ENDPOINT_TYPE=local
    FILE_LIBRARY_LOCAL_PATH=uploads/
    MEDIA_LIBRARY_IMAGE_SERVICE=A17\Twill\Services\MediaLibrary\Local
    

    And I setup the database to use sqlite3.

    No problem with the installation, everything is going well. I've my administration credentials but when I'm trying to access to the dashboard settings, (it redirects me to http://admin.localhost:8000/users/1/edit but) the form is never appearing. The loader never stops. When I look at the DOM, the fields seem to be well generated.

    image

    I think it's a DOM error. Here is the logs in the JS console.

    image

    Uncaught SyntaxError: Unexpected token &
    
    Uncaught TypeError: Cannot read property 'medias' of undefined
    
    opened by bastienrobert 22
  • Custom Vue component forms in admin [form.blade.php] (block hack) is not rendered

    Custom Vue component forms in admin [form.blade.php] (block hack) is not rendered

    Hi, I have a ... well, critical issue after updating to 2.0

    I need on some modules a total custom Vue component formfield in order to make special forms (some sort of repeater but with very specific and custom specs). It is not a repeater though.

    I had those Vue components directly "injected" into the form.blade.php template, as there was no way to add custom specific formFields at that time, so I followed a kinda 'hacky' process someone told me on Spectrum chats.

    Example of what I have right now:

    @extends('twill::layouts.form')
    
    @section('contentFields')
        @formField('input', [
            'name' => 'title',
            'label' => 'Quiz title',
            'maxlength' => 100
        ])
        @formField('input', [
            'name' => 'points_correct',
            'label' => 'Points per success',
            'maxlength' => 3,
            'default' => 10
        ])
        @formField('input', [
            'name' => 'points_miss',
            'label' => 'Points per failure',
            'maxlength' => 3,
            'default' => 3
        ])
        @formField('browser', [
            'label' => "Journey quiz group",
            'name' => 'journey',
            'moduleName' => 'journeys',
            'routePrefix' => 'travessies-i-trivial',
            'max' => 1
        ])
        @formField('browser', [
            'label' => "Play related to quiz",
            'name' => 'play',
            'moduleName' => 'plays',
            'routePrefix' => 'obres-critiques-festivals',
            'max' => 1
        ])
        <a17-block-quizzes :quiz-question-data="{{ $questionsData }}"></a17-block-quizzes>
    @stop
    

    Since I updated to last Twill version, those custom components dissapeared!!!! :fearful:

    I've been trying to run php artisan twill:blocks and then npm run twill-build but unsuccessful. Seems that the custom component is not rendered on the view, as looking at the HTML source code, it appears the <a17-block-quizzes> tag instead of the rendered component.

    Now the backend is unusable, as those components were crucial for some sections of the website.

    How can I roll back to the 'hacky' behavior? How can I add my custom formfields that were working before?

    Any manual solution? I will modify Twill core and add it to my own fork if there's no more solution to this.

    I chose Twill months ago as a good CMS thinking it could be flexible, customizable and able handle a complex site, but the work, effort and issues I'm putting into this project means a 10 fold dedication instead of saving time... anyway at this point I have no way to rollback, so I have to fix this at all costs :disappointed:

    Any ideas??

    opened by zedee 21
  • Build scripts for windows

    Build scripts for windows

    Hi, I tried to install twill but no success with build scripts in document, look like it works only in linux/macos, so i rewrote a little to make it works:

    "cms-build": "npm run cms-copy-blocks && cd vendor/area17/twill && npm ci && npm run prod && cp -R public/* ${INIT_CWD}/public", "cms-copy-blocks": "npm run cms-clean-blocks && mkdir resources\\assets\\js\\blocks\\ && mkdir vendor\\area17\\twill\\frontend\\js\\components\\blocks\\customs\\ && cp -R resources\\assets\\js\\blocks\\ vendor\\area17\\twill\\frontend\\js\\components\\blocks\\customs\\", "cms-clean-blocks": "rm -rf vendor\\area17\\twill\\frontend\\js\\components\\blocks\\customs && rm -rf resources\\assets"

    One more problem is paths in public/assets/tasks/icon.js, i saw you used path.resolve('frontend/icons') but i got the syntax is incorrect when build, and i changed it to path.resolve('frontend\icons') but still got same problem.

    @ preicons D:\laragon\www\laratrans\vendor\area17\twill rimraf public/assets/admin/icons/icons.svg && rimraf frontend/scss/setup/_icons.scss && rimraf public/assets/admin/icons/icons-files.svg && rimraf frontend/scss/setup/_icons-files.scss && mkdir -p public/assets/admin/icons

    The syntax of the command is incorrect. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ preicons: rimraf public/assets/admin/icons/icons.svg && rimraf >frontend/scss/setup/_icons.scss && rimraf public/assets/admin/icons/icons-files.svg && >rimraf frontend/scss/setup/_icons-files.scss && mkdir -p public/assets/admin/icons npm ERR! Exit status 1`

    type: bug type: enhancement 
    opened by folkevil 20
  • Imgix Integration using Local Storage

    Imgix Integration using Local Storage

    Hello,

    I am following the official instructions exactly and I can't get Twill to connect to my Imgix account.

    Here are my .env variables:

    MEDIA_LIBRARY_LOCAL_PATH=uploads/ (this works as files are being written locally)
    IMGIX_SOURCE_HOST=jkh.imgix.net (accessible on the WWW)
    IMGIX_USE_SIGNED_URLS=true
    IMGIX_SIGN_KEY=xxxxx (Is this the Imgix 'API key' found in my account settings?)
    

    Imgix Source Settings:

    Base URL: http://darwin.test/uploads/ (confirmed working, e.g. I can access http://darwin.test/uploads/3b74e4bb-e506-4a57-a79c-d103f0f38b0c/photo-2019-02-28-09-37-59-3.jpg from my local machine)

    imgix Domain: jkh.imgix.net

    I really need to get this working ASAP so I'd appreciate any/all help.

    Thanks

    Jon

    opened by jkhamler 19
  • Saving input from a browser form field

    Saving input from a browser form field

    I've added a browser input for a module called services (a taxonomy associated with a project), added a field called services to the project table in the database (which I've assigned the text type in the database), and I've added a browser form field to the project's form.blade.php. Nothing is saving to the database, so I'm wondering if I'm missing something. It seems like Twill is setup to handle that as far as I can tell (add a form field and a corresponding field to the database and Twill will handle the logic of saving the data automatically). Is there some logic that needs to be added manually (e.g. to the projects model) to handle saving the input? It's not really obvious to me how the data entered in a browser input (or the block editor) is saved to the database, the documentation doesn't seem to go over that, so it's a bit of a black box.

    type: documentation 
    opened by wratke 19
  • Is it possible to use repeaters outside Block Editor?

    Is it possible to use repeaters outside Block Editor?

    I'm a little confused about the usage of repeaters. In the docs under the form fields section I see the following example:

    <a17-fieldset title="Videos" id="videos" :open="true">
        @formField('repeater', ['type' => 'video'])
    </a17-fieldset>
    

    This seems to use the repeaters without the Block Editor, but I can't figure out how to make it work, where should video template stuff go? And would the content be saved on a specific column on the model's table?

    Any help appreciated, Thanks.

    opened by amrnn90 16
  • Pages module

    Pages module

    First of, thanks for sharing your work, it looks amazing!

    I am trying to create a pages module, but I am not sure how to go about it.

    Documentation states that 'Pages are unstructured data models most often used for static content, such as an About page [...]', which I understand should not be prefixed with 'pages'. I also don't know how to arrange it in page/subpage/... convention. Do you maybe have any more detailed docs about it?

    I will also need pages to have different page templates with different fields. I read #54 and will try to implement it somehow, but I would appreciate if you have any ideas how to do that or where to start?

    Also related: is it/or would be possible to implement a sort of addons system. For example a 'pages' addon that would scaffold all of this (tree structure, templates, ...) and leave user to populate template' fields, because it seems like something that a lot of projects requiring CMS would actually need.

    Thanks for your help!

    type: question type: documentation 
    opened by zipavlin 16
  • Laravel 8 Upgrade and general roadmap plans?

    Laravel 8 Upgrade and general roadmap plans?

    Hi there, seeing that tomorrow is L7 last day of bugfix support and having no further security support around march 2021, I'd like to ask what the roadmap is for upgrading to L8 and beyond.

    Laravel adapted a rather quick release cycle, which twill seems to be behind judging based on the last upgrade to version 7. I do know this is an open source project and I am not trying to say that there are any obligations from Area17's side, this is mainly to vet a decision going further with twill in general.

    This also doesn't mean you'd be required to upgrade, this could/should be a community effort given if you guys support or endorse that at all. But for that part to work out or happen, it might be necessary for more people to maintain this project? This is just a stab into the dark, but I feel like it's only @ifox handling everything? Surely doesn't work out since @ifox has other things to do as well and it cannot be expected from him to be available nor review everything right away.

    Please excuse if this may come over harsh, it's just that I feel like there is a gap between the public facing side of twill.io which attracts people and businesses, but on the other side feels like this project is rather a burden that get's maintained on a low frequent level.

    So tldr: If a business were to use twill, what can they expect? Would a rough estimation be possible for support of the project itself? How can others help? Are you looking for more maintainers or could that help with the longevity of the project?

    I am currently not actively using this project myself, but our company decided to use it which made me do this post. Eventually I'll get to contribute actively to this codebase and I am willing to take on some tasks.

    Thanks in advance.

    type: question 
    opened by lostdesign 14
  • Custom Block with Slideshow Component Won't Save

    Custom Block with Slideshow Component Won't Save

    Hi @ifox @yanhao-li

    I've had this problem for a while - not sure if there is a bug. I've created a brand new block called 'slideshow' which contains a single form element:

    @formField('medias', [
    'name' => 'slideshow',
    'label' => 'Slideshow',
    'max' => 5,
    'note' => 'Minimum image width: 1500px'
    ])
    

    I'm able to select images but then nothing saves or writes to the DB, so if I refresh my page then the images have been lost. Is there something I'm missing?

    image

    opened by jkhamler 14
  • twill:dev does not work(no docker)

    twill:dev does not work(no docker)

    Description

    I'm developing custom components and i've following issues running twill:dev

    • changing TWILL_DEV_MODE_URL env variable doesn't make any difference, it keeps serving http://localhost:8080 (i just had other server running same port so i had to remove it.)
    • when i run php artisan twill:dev with TWILL_DEV_MODE=true then http://localhost:8080 brings me Cannot GET / and http://localhost:8080/twill-manifest.json is showing file content from public/assets/admin/twill-manifest.json Have no idea how to solve it. Google says it could be a webpack issue but i didn't try to downgrade it or something.
    • php artisan twill:dev does not watch for changes in ./resources/assets/js/components. But this could be a normal behavior, i don't know. If so then developing a custom component is turning into a terrible nightmare:)

    Versions

    Twill version: 2.4 Laravel version: 8.0 PHP version: 7.4 Database engine: 8.0 OS: Windows 10

    p.s: great piece of software, thank you for sharing it.

    opened by ammma 13
  • [3.x] BlockRenderer does not render nested blocks in order of position

    [3.x] BlockRenderer does not render nested blocks in order of position

    Description

    When fetching root blocks, the default behaviour is to order by position. However, the same cannot be said for nested blocks, as the query simply fetches by parent_id without any ordering.

    Steps to reproduce

    1. Create a block that uses a block editor that references any block type.
    2. Add an instance of that block to a module, such as a page.
    3. Create a template for both blocks, and use renderChildren(name) in the root block template.
    4. Add some child blocks and re-order them. The order will not be as intended.

    Expected result

    Nested blocks at all levels should rendered be in the order defined.

    Actual result

    Nested blocks are ordered as per the database’s default ordering.

    Steps to correct

    In BlockRenderer, exchange the $childBlocks assignment in getNestedBlocksForBlock to:

    $childBlocks = A17Block::whereParentId($block->id)->orderBy(
        config('twill.blocks_table', 'twill_blocks') . '.position',
        'asc'
    )->get();
    

    (May I open a PR against 3.x?)

    Versions

    Twill version: 3.0.0-beta2 Laravel version: 9.x PHP version: 8.1 Database engine: Postgres 14

    opened by mikerockett 1
  • WYSIWYG Editor not saving

    WYSIWYG Editor not saving

    Description

    I created a page module specifically for landingspages but sometimes when I save the content which is a WYSIWYG editor, it just posts the old content instead of the updated one and nothing gets updated.

    Steps to reproduce

    I open a page and edit the content like this:

    d6fc3d3ebc4dadb1c4ab582dcd9fa9e5

    Expected result

    The added text should be posted to be saved in the database but when I check the page nothing is changed. So I checked the network tab and see what actually is posted. And it shows this:

    Actual result

    c3c13e02377bd18bb64d6e0e07f19e79

    If you look at the 'description' it is not posting the newly added text.

    So the old content just gets posted. Why is that happening?

    Versions

    Twill version 2.0 Laravel version 8.75 PHP 8.0 Database: mysql PHPmyadmin

    status: on hold 
    opened by twan-2022 3
  • [3.x] Add $titleLabel to BaseModuleController

    [3.x] Add $titleLabel to BaseModuleController

    Summary

    Currently it is possible to overwrite the "title" key for the "create modal" to something custom. This is done in the Controller (BaseModuleController).

    For example: protected $titleColumnKey = 'user_fullname';

    When this is done the Label of said field will be displayed as "user_fullname", which is not very appealing.

    It would be useful to be able to also overwrite the Label for that column key by either defining it like this: protected $titleColumnLabel = 'User Fullname';

    Or defining it directly as:

    protected $titleColumn = [
       'user_fullname' => 'User Fullname'
    ];
    
    type: enhancement good first issue 
    opened by boonstoppel 2
  • [2.x] User auth activity

    [2.x] User auth activity

    Currently, no auth activity is logged in the CMS. This PR implements login and logout auth actions.

    Per default, this is off.

    TODO:

    • docs
    • document new possible parsing via analytics arguments on the lang.

    dc

    Needs port to 3.x 
    opened by kallefrombosnia 0
Releases(2.11.0)
  • 2.11.0(Nov 10, 2022)

    Features

    • When displaying a field with html after the block name, this is now stripped and cleaned #1843

    Other

    • Added support for laravel/ui 4.x and fixes an issue with Laravel 9 aws adapter #1900
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-beta2(Nov 7, 2022)

    This is the second Beta release for Twill 3!

    Changes since last beta

    This is a stabilization release to prepare a first stable release.

    Improvements

    • New documentation system
    • New guide
    • Improved defaults for new projects
    • Added .gitattributes to reduce package size

    Features

    • No new features were introduced in this release

    Bugfixes

    • Restored edit link on user profiles #1891
    • Fixed console error on forms with permissions #1890
    • Fixed backwards compatibility for navigation link access #1886

    Twill 3 brings a lot of improvements in the backend focused on developer experience.

    • Minimum php version is now 8.0
    • Twill now comes with permissions management
    • Tables can now be customised more easily using the table builder
    • Forms can be defined from the controller classes or from the views, you choose!
    • Improved date handling (everything should be timezone aware)
    • Many improvements to the documentation
    • Blocks can be nested
    • Many other things, check the changelog for more.
    • As this is a beta release, bugs are to be expected, please consult the changelog and upgrade guide.

    If you encounter issues, please create an issue or contact us on discord.

    CHANGELOG UPGRADE GUIDE

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-beta1(Oct 18, 2022)

    This is the first Beta release for Twill 3!

    Changes since last alpha

    Features

    • The upgrade path is now about complete. Check UPGRADE.MD for full instructions.
    • You can now validate array contains in multiselects #1854
    • Added breadcrumbs using ->setBreadcrumbs on controllers.
    • Added a new command that allows to only flush the twill manifest file #1862

    Bugfixes

    • Translated media and slideshows can now be disabled #1847
    • Fixed an issue where block fields would not fallback in translations #1852
    • Small improvement to avoid additional queries in blocks #1853
    • Fixed an issue where the menu would overlay the media browser
    • Fixed form builder support for singletons
    • The preview function is now more open and allows interaction #1861

    Translations

    • Small improvements to the french translations #1851

    Twill 3 brings a lot of improvements in the backend focused on developer experience.

    • Minimum php version is now 8.0
    • Twill now comes with permissions management
    • Tables can now be customised more easily using the table builder
    • Forms can be defined from the controller classes or from the views, you choose!
    • Improved date handling (everything should be timezone aware)
    • Many improvements to the documentation
    • Blocks can be nested
    • Many other things, check the changelog for more.
    • As this is a beta release, bugs are to be expected, please consult the changelog and upgrade guide.

    If you encounter issues, please create an issue or contact us on discord.

    CHANGELOG UPGRADE GUIDE

    Source code(tar.gz)
    Source code(zip)
  • 2.10.0(Oct 18, 2022)

    Features

    • Add command to allow developers to flush only the twill-manifest.json from cache #1859
    • Adds a ArrayContains support to connected fields #1848
    • The preview function now allows more interaction #1561
    • Adds disabled support to translated media and slideshow #1845

    Bugfixes

    • Avoids additional queries when getting blocks #1790
    • Fixed an issue where translation fallback would not work for blocks #1754
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-alpha3(Sep 30, 2022)

    This is the third Alpha release for Twill 3!

    This should be the last alpha release.

    The next focus will be on optimise the Twill 2.x -> Twill 3.x migration path, unless required, no new features will be introduced. With beta1 we will keep in mind an upgrade path between beta releases so new projects can be started.

    Changes since last alpha

    Features

    • New duplicate feature. Duplicating content from the ui now is limited to basic content, browsers, blocks, files and media. This no longer depends on revisions being available and can be hooked into to duplicate other relations.
    • The table builder now has a method ->linkToEdit() to link a cell to the modal or edit form.

    Bugfixes

    • Many small regressions are fixed.
    • Fixes an issue where custom icons would not compile correctly.

    Twill 3 brings a lot of improvements in the backend focused on developer experience.

    • Minimum php version is now 8.0
    • Twill now comes with permissions management
    • Tables can now be customised more easily using the table builder
    • Forms can be defined from the controller classes or from the views, you choose!
    • Improved date handling (everything should be timezone aware)
    • Many improvements to the documentation
    • Blocks can be nested
    • Many other things, check the changelog for more.
    • As this is an alpha release, bugs are to be expected, please consult the changelog and upgrade guide.

    If you encounter issues, please create an issue or contact us on discord.

    CHANGELOG UPGRADE GUIDE

    Source code(tar.gz)
    Source code(zip)
  • 2.9.1(Sep 30, 2022)

    Fixes

    • Fixes an issue that would allow unpublished users to continue to login #1833
    • Fixes an issue that where custom icons were not picked up by the build process #1825

    Docs

    • Fix broken link in "Settings Section" in docs #1837

    New Contributors

    • @JoshuaCrewe made their first contribution in https://github.com/area17/twill/pull/1837

    Full Changelog: https://github.com/area17/twill/compare/2.9.0...2.9.1

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-alpha2(Sep 14, 2022)

    This is the second Alpha release for Twill 3.0.0!

    New features since last alpha:

    ⭐️ New settings implementation


    Twill 3 brings a lot of improvements in the backend focused on developer experience.

    • Minimum php version is now 8.0
    • Twill now comes with permissions management
    • Tables can now be customised more easily using the table builder
    • Forms can be defined from the controller classes or from the views, you choose!
    • Improved date handling (everything should be timezone aware)
    • Many improvements to the documentation
    • Blocks can be nested
    • Many other things, check the changelog for more.
    • As this is an alpha release, bugs are to be expected, please consult the changelog and upgrade guide.

    If you encounter issues, please create an issue or contact us on discord.

    CHANGELOG UPGRADE GUIDE

    Source code(tar.gz)
    Source code(zip)
  • 2.9.0(Sep 13, 2022)

    Features

    • Submit options are now configurable using the getSubmitOptions #1719
    • Using enableDraftRevisions you can now have drafts on top of published versions #1725

    Fixes

    • When having many blocks, the list is now srollable #1464
    • Improved support for custom icons #1732
    • Fixes a js error that occurred when cloning repeaters #1734
    • Resolved an issue where slug models could not be found if directories were nested #1738
    • Fixed slugs in nested modules to not rely on random sort anymore #1743
    • Fixed an issue where the activities dashboard could show less entries #1764
    • Fixed an issue that could cause undefined errors when using subdomain routing #1779
    • Optimized a query in HasRelated #1789

    Docs

    Various small documentation updates.

    New Contributors

    • @galingong made their first contribution in https://github.com/area17/twill/pull/1717
    • @thingasd made their first contribution in https://github.com/area17/twill/pull/1743
    • @adriangabura made their first contribution in https://github.com/area17/twill/pull/1758
    • @ulcuber made their first contribution in https://github.com/area17/twill/pull/1789
    • @MizouziE made their first contribution in https://github.com/area17/twill/pull/1794

    Full Changelog: https://github.com/area17/twill/compare/2.8.8...2.9.0

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-alpha1(Jul 18, 2022)

    This is the first Alpha release for Twill 3.0.0!

    Twill 3 brings a lot of improvements in the backend focused on developer experience.

    • Minimum php version is now 8.0
    • Twill now comes with permissions management
    • Tables can now be customised more easily using the table builder
    • Forms can be defined from the controller classes or from the views, you choose!
    • Improved date handling (everything should be timezone aware)
    • Many improvements to the documentation
    • Blocks can be nested
    • Many other things, check the changelog for more.

    As this is an alpha release, bugs are to be expected, please consult the changelog and upgrade guide.

    If you encounter issues, please create an issue or contact us on discord.

    CHANGELOG UPGRADE GUIDE

    Source code(tar.gz)
    Source code(zip)
  • 2.8.8(Jun 27, 2022)

    Features

    • ->pivot is now available when using getRelated (to get the position) #1687
    • When updating a model via the repository, the updated model is now returned #1706

    Fixes

    • Fixed no-cache header #1695
    • Fixed divider icon not showing #1699
    • Fixed Path separators for windows in capsules #1702

    Returning contributors

    @antonioribeiro @pboivin @haringsrob

    Full Changelog: https://github.com/area17/twill/compare/2.8.7...2.8.8

    Source code(tar.gz)
    Source code(zip)
  • 2.8.7(Jun 10, 2022)

    Features

    • Added divider support to the Quill toolbar #1679

    Fixes

    • Fixed issue that would cause Twill ui to crash when using Quill #1680
    • Fixed some backward compatibility issues with older Laravel versions #1684
    • Fixed issue with browsers in the block editor #1689

    Full Changelog: https://github.com/area17/twill/compare/2.8.6...2.8.7

    Source code(tar.gz)
    Source code(zip)
  • 2.8.6(Jun 3, 2022)

    What's Changed

    • Fixed an issue that would not cleanup removed browser items in blocks #1675
    • Fixed an issue that would not display fields translatable in the edit modal window #1676

    Full Changelog: https://github.com/area17/twill/compare/2.8.5...2.8.6

    Source code(tar.gz)
    Source code(zip)
  • 2.8.5(May 27, 2022)

    What's Changed

    • Revert build folder changes by @haringsrob in https://github.com/area17/twill/pull/1664

    Full Changelog: https://github.com/area17/twill/compare/2.8.4...2.8.5

    Source code(tar.gz)
    Source code(zip)
  • 2.8.4(May 25, 2022)

    Fixes

    • Fix error in block editor. by @haringsrob in https://github.com/area17/twill/pull/1659

    Notes

    The twill assets are now shipped in /vendor/area17/twill/twill-assets instead of the /vendor/area17/twill/dist folder, unless you directly use this folder this should not be breaking.

    Always use php artisan twill:update to update assets.

    Full Changelog: https://github.com/area17/twill/compare/2.8.3...2.8.4

    Source code(tar.gz)
    Source code(zip)
  • 2.8.3(May 19, 2022)

    Fixes

    • Media fields can now be validated in blocks #1648
    • Internal links in quill are no longer set to target _blank #1649
    • Improved restoring support for nested modules #1590

    Returning contributors

    • @YasienDwieb
    • @haringsrob

    Full Changelog: https://github.com/area17/twill/compare/2.8.2...2.8.3

    Source code(tar.gz)
    Source code(zip)
  • 2.8.2(May 6, 2022)

    Fixes

    • Make the site link translatable #1617
    • Fix SQL error on twill:refresh-crops command #1618
    • Fix locale if intl extension is missing. #1620
    • Fix usage of quotes in placeholder #1621
    • Fix visual issue with long notes on media #1612
    • Change search to allow less than 3 characters #1613
    • Add polyfill for doesntContain to ensure Laravel 7 compatibility #1635

    New Contributors

    • @nedbaldessin made their first contribution in https://github.com/area17/twill/pull/1618

    Returning Contributors

    • @kallefrombosnia
    • @afatmustafa
    • @haringsrob

    Full Changelog: https://github.com/area17/twill/compare/2.8.1...2.8.2

    Source code(tar.gz)
    Source code(zip)
  • 2.8.1(Apr 26, 2022)

    Fixes

    • Fixes an error when using translated validation rules in Laravel 9 #1611
    • Avoids a 500 error if glide base url is set to an empty string #1603
    • Fixes an issue where repeaters and blocks would not expand on create/duplicate #1608

    New Contributors

    • @zeezo887 made their first contribution in https://github.com/area17/twill/pull/1611

    Full Changelog: https://github.com/area17/twill/compare/2.8.0...2.8.1

    Source code(tar.gz)
    Source code(zip)
  • 2.8.0(Apr 19, 2022)

    Twill 2.8.0 is a non-breaking release bringing a lot of cool new features, fixes, and improvements.

    HOW TO UPDATE

    Run composer update in your project and then, run Twill's own update command: php artisan twill:update. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build.

    Added

    • Laravel 9 support #1243
    • Added option to disable repeater sorting #1541
    • Added support for connectedBrowserField when using browsers #1400
    • Allows media fields to use wysiwyg #1540
    • Twill composer packages #1446
    • Url field type #1514
    • Browsers are now supported by connected fields #1399
    • Added Twill block classes to support block render data, validation and more #1421
    • Repeaters and blocks are now updated instead of recreated #1431
    • Improved translatable fields validations 1411

    Fixed

    • Improved language label display #1592
    • Fixed regression in translatable settings #1598
    • Fixed capsule database path #1583
    • Fixed activity log morph size #1565
    • Changed activity log morph size to bigInt #1565
    • Fixed leftover array accessor on capsule object #1574
    • Fixed small visual issue with long labels #1566
    • Fixed MorphMany saving #1460
    • Reverted change that throws exception when crops are missing #1535
    • Fixed issue that would cause undefined index when using octane #1549
    • Fixed bug in singleton generator when using plural name #1551
    • Fixed regression for resources in capsules and packages #1552
    • Fixed Glide url without scheme #1545
    • Fixed regression with repeaters in updated block system #1518
    • Fixes visual issue when using limitHeight on a wysiwyg field #1509
    • When refreshing crops, block crops are now included #1517
    • Update Refresh Crops command to take in consideration the MorphMap #1485
    • Get image size from uploaded file instead of stored file #1412
    • Fix unauthenticated user 500 error when using custom error handler #1449
    • Fix exception for missing repository in related browser #1405
    • Do not show changed dialog when content is identical #1359
    • Improved performance when many fields/languages are used #1350

    Docs

    • Added more guides #1473
    • Small improvement to the install documentations #1569
    • Improved custom page documentation #1548
    • Improved config documentation #1537
    • Added documentation on how to use custom icons #1538

    New Contributors

    • @AndreSchwarzer made their first contribution in https://github.com/area17/twill/pull/1538
    • @marcbelletre made their first contribution in https://github.com/area17/twill/pull/1460
    • @cambad made their first contribution in https://github.com/area17/twill/pull/1569
    • @happytodev made their first contribution in https://github.com/area17/twill/pull/1595
    • @Ser1ous made their first contribution in https://github.com/area17/twill/pull/1592

    Returning contributors

    • @ifox
    • @haringsrob
    • @domihagen
    • @daun
    • @raymondtri
    • @pboivin
    • @sauron
    • @freshleafmedia
    • @joyceverheije
    • @m4n1ok

    Full Changelog: https://github.com/area17/twill/compare/2.7.0...2.8.0

    Source code(tar.gz)
    Source code(zip)
  • 2.8.0-rc.2(Apr 8, 2022)

    Added

    • Added option to disable repeater sorting #1541
    • Added support for connectedBrowserField when using browsers #1400

    Fixed

    • Changed activity log morph size to bigInt #1565
    • Fixed leftover array accessor on capsule object #1574
    • Fixed small visual issue with long labels #1566
    • Fixed MorphMany saving #1460

    Docs

    • Small improvement to the install documentation #1569

    New Contributors

    • @marcbelletre made their first contribution in https://github.com/area17/twill/pull/1460
    • @cambad made their first contribution in https://github.com/area17/twill/pull/1569

    Contributors

    • @m4n1ok
    • @joyceverheije
    • @haringsrob

    Full Changelog: https://github.com/area17/twill/compare/2.8.0-rc.1...2.8.0-rc.2

    Source code(tar.gz)
    Source code(zip)
  • 2.8.0-rc.1(Apr 1, 2022)

    Added

    • Allows media fields to use wysiwyg #1540

    Fixed

    • Reverted change that throws exception when crops are missing #1535
    • Fixed issue that would cause undefined index when using octane #1549
    • Fixed bug in singleton generator when using plural name #1551
    • Fixed regression for resources in capsules and packages #1552
    • Fixed Glide url without scheme #1545

    Docs

    • Improved custom page documentation #1548
    • Improved config documentation #1537
    • Added documentation on how to use custom icons #1538

    New Contributors

    • @AndreSchwarzer made their first contribution in https://github.com/area17/twill/pull/1538

    Full Changelog: https://github.com/area17/twill/compare/2.8.0-beta.2...2.8.0-rc.1

    Source code(tar.gz)
    Source code(zip)
  • 2.8.0-beta.2(Mar 15, 2022)

    Added

    • Twill composer packages #1446
    • Url field type #1514
    • Browsers are now supported by connected fields #1399

    Fixed

    • Fixed regression with repeaters in updated block system #1518
    • Fixes visual issue when using limitHeight on a wysiwyg field #1509
    • When refreshing crops, block crops are now included #1517

    Full Changelog: https://github.com/area17/twill/compare/2.8.0-beta.1...2.8.0-beta.2

    Source code(tar.gz)
    Source code(zip)
  • 2.8.0-beta.1(Mar 3, 2022)

    Added

    • Laravel 9 support #1243
    • Twill block classes to support block render data, validation and more #1421
    • Repeaters and blocks are now updated instead of recreated #1431
    • Improved translatable fields validations 1411

    Fixed

    • Update Refresh Crops command to take in consideration the MorphMap #1485
    • Get image size from uploaded file instead of stored file #1412
    • Fix unauthenticated user 500 error when using custom error handler #1449
    • Fix exception for missing repository in related browser #1405
    • Do not show changed dialog when content is identical #1359
    • Improved performance when many fields/languages are used #1350

    Documentation

    • Added more guides #1473

    Full Changelog: https://github.com/area17/twill/compare/2.7.0...2.8.0-beta.1

    Source code(tar.gz)
    Source code(zip)
  • 2.7.0(Feb 25, 2022)

    Twill 2.7.0 is a non-breaking release bringing a lot of cool new features, fixes, and improvements.

    Special credits go to @haringsrob for his amazing work during the past few months! ❤️

    Much more to come with Twill 2.8.0, with Laravel 9 support, which we're going to tag a beta for next week, and Twill 3.0, which is already well underway, as you can see for yourself in our new public roadmap powered by the amazing GitHub Projects features.

    HOW TO UPDATE

    Run composer update in your project and then, run Twill's own update command: php artisan twill:update. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build.

    Added

    • When in debug mode and a crop is missing an exception will be shown #1351
    • When admin account creation failed, and error is now shown #1114
    • Add an option to set $controlLanguagesPublication in the listing layout that can be used to disable language publication controll in the create modal #1468
    • You can now control the revision label from the revisionsArray method on the model #1467
    • Validations can now be created for repeaters #1156
    • Max amount of repeaters can now be set from the field rather than the repeater itself #1433
    • Added an option to automatically seed singletons #1456

    Fixed

    • Fixed regression where slugs were not checked if unique #1381
    • Repeater Collapse All only works once #1330
    • Ensure correct button messages when skipping modal on new content creation #1324
    • Allow media to be deleted when used model is removed #1160
    • Ensure default values are set for radios in the vuex store #1100
    • Ensure LQIP data is always available #1352
    • Add typecasting to select dropdown for settings support #1203
    • Move development specific autoload components #1391
    • Repeaters no longer expand when adding a new item #1461
    • Notes are now rendered in media fields #1443
    • When updated_at is empty, it now falls back to the created_at timestamp #766
    • When cloning a block, the new block is dereferenced from the original #1410
    • Improved content scheduling #1307
    • Fixed 500 error if google analytics data is empty #1470
    • Fixed not all Translations were loaded within editInModal #1469
    • Improved missing "disabled" implementations for various fields #836

    Documentation

    • Added documentation for permalinks #903 #1092
    • Added documentation for custom media metadata #1031
    • Added documentation for singleton modules #1231
    • Added guide on how to customize the create modal #1436
    • Improved documentation for field grouping #1214
    • Added documentation for side fieldsets #1420
    • Added documentation for the tags field #1375

    Translations

    • Added Arabic translations #1323
    • Added Bosnian translations #1374
    • Updated czech translations #1466

    New Contributors

    • @YasienDwieb made their first contribution in https://github.com/area17/twill/pull/1316
    • @kallefrombosnia made their first contribution in https://github.com/area17/twill/pull/1374
    • @amargoCactus made their first contribution in https://github.com/area17/twill/pull/1461
    • @adam-riha made their first contribution in https://github.com/area17/twill/pull/1466

    Full Changelog: https://github.com/area17/twill/compare/2.6.0...2.7.0

    Source code(tar.gz)
    Source code(zip)
  • 2.6.0(Dec 21, 2021)

    Twill 2.6.0 is a non-breaking release bringing a lot of cool new features, fixes and improvements, especially for developers:

    • we introduced new Artisan commands, and new options were added to existing commands:

      • twill:make:singleton will help you with standalone forms that can use all Twill modules features. They are a great replacement for sometimes lacking settings pages.
      • the new --hasNesting option of the modules CLI will fully configure self-nested modules for you. No more snippets to copy and paste from the docs.
      • twill:refresh-crops can apply your new mediasParams configuration so that your crops are immediately available without using the CMS UI.
    • to render images, we added support for TwicPics. They are an amazing French-based alternative to Imgix that you can try through their free plan which offers up to 3GB of CDN bandwidth, with unlimited master images and transformations.

    • our documentation site has been separated into individual pages for better browsability and is now leveraging a couple more features from VuePress to improve collaboration. We hope this is a helpful change alongside all the new additions. More to come!

    • Turkish translations were added, and German and Italian translations were updated by our amazing contributors!

    • and a ton more fixes and improvements, check out the full changelog below!

    Thank you to all our contributors and community members for their amazing support this year! We hope you all have a great end of 2021, see you in 2022! 🚀

    HOW TO UPDATE

    Run composer update in your project and then, run Twill's own update command: php artisan twill:update. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build.

    Added

    • Artisan command twill:make:singleton to generate single-record modules #1178
    • Option --hasNesting to generate self-nested modules #1140 #1222
    • Artisan command twill:refresh-crops to generate missing crops #1289 8b1e4f6d
    • TwicPics image service #1217 ce15c4a5
    • Turkish language support #1134
    • Support for translated permalinks in the title editor #1092
    • Support for capsule service providers #1212
    • Auto detect latitude-longitude value in location field #1275 #1170
    • Adds the ability to display an indexColumn selected from a relatedBrowser #1302

    Fixed

    • Support attribute casting on model and translations with JSON field groups #1151
    • Support dynamic repeater titles with JSON repeaters #1171
    • Fix admin HTTP exception views detection #1213
    • Prevent conflicts with built-in Vue component names #1164
    • Add fallback to capsule model in permalink base #1216
    • Add doctrine/dbal 3.0 support #1226
    • Ensure capsule autoloading when config is cached #1242
    • Fix edit link feature regression in Quill WYSIWYG #1270
    • Remove references to deprecated Symfony class #1269
    • Prevent undefined route errors in IconsController #1268
    • Fix typo in twill:capsule:install command #1290
    • Initialize undefined crops in cropper UI using first available ratio #1258
    • Fix byKey() setting query when passing section argument #1303
    • Remove duplicate test stub class #1311
    • Fix destroy action on single nested items #1304
    • Prevent multiple AJAX requests in Block Editor previews #1282
    • Fix singleton routing for primary and secondary navigation support #1325
    • Use case insensitive like operator in filterHandleTranslations for PostgresSQL support #1322

    Improved

    • Update routes mapping order to allow overrides #1133
    • Handle many-to-many relations in index columns #1174
    • Add capsule_repository_prefix configuration #1209
    • Support custom port in dev_mode_url configuration #1163
    • Support additional table actions in module listing #1202
    • Show red input count only if above 90% capacity #1237
    • Collapse repeater blocks on page load #1296
    • Update nested module count pluralisation #1251
    • Support titleKey parameter in relatedBrowsers configuration #1301
    • Update HasSlug to use Eloquent instead of DB facade #1309
    • Update german translations #1235
    • Update italian translations #1312
    • Update docblock annotations #1167
    • Update documentation #1165 #1244 #1236
    • Add pagination and a few more quality of life updates to the documentation #1131

    Chores

    • Update npm dependencies in documentation 377e5e0
    • Bump axios from 0.21.1 to 0.21.2 #1327

    New Contributors

    • @MarcelWeidum made their first contribution in https://github.com/area17/twill/pull/1165
    • @chrispymm made their first contribution in https://github.com/area17/twill/pull/1171
    • @madalinignisca made their first contribution in https://github.com/area17/twill/pull/1133
    • @afatmustafa made their first contribution in https://github.com/area17/twill/pull/1134
    • @MamlukiSn made their first contribution in https://github.com/area17/twill/pull/1092
    • @haringsrob made their first contribution in https://github.com/area17/twill/pull/1212
    • @fabianfetting made their first contribution in https://github.com/area17/twill/pull/1235
    • @avramch made their first contribution in https://github.com/area17/twill/pull/1244
    • @freshleafmedia made their first contribution in https://github.com/area17/twill/pull/1251
    • @bosix made their first contribution in https://github.com/area17/twill/pull/1296
    • @neklein made their first contribution in https://github.com/area17/twill/pull/1304
    • @AleksanderHideolab made their first contribution in https://github.com/area17/twill/pull/1312

    Full Changelog: https://github.com/area17/twill/compare/2.5.2...2.6.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.3(Dec 1, 2021)

    Twill 2.5.3 is addressing a security vulnerability flagged on huntr.dev: a logout could be triggered from an external link, which is more an annoyance for users than a true security concern. Still important to fix, which we did!

    Stay tuned for Twill 2.6.0 in the next couple of days! You can review what's upcoming in our changelog or test it using 2.x-dev in your composer.json.

    Fixed

    Source code(tar.gz)
    Source code(zip)
  • 1.2.5(Dec 1, 2021)

    Twill 1.2.5 is backporting a fix introduced in 2.5.3, which is addressing a security vulnerability flagged on huntr.dev: a logout could be triggered from an external link, which is more an annoyance for users than a true security concern. Still important to fix, which we did!

    Fixed

    Source code(tar.gz)
    Source code(zip)
  • 2.5.2(Sep 16, 2021)

  • 1.2.4(Sep 16, 2021)

  • 2.5.1(Sep 2, 2021)

    Fixed

    • Twill custom error views and ability to extend its exceptions handler 312b44 c16d2e

    Twill uses it's own internal exception handler for controllers extending A17\Twill\Http\Admin\Controller and A17\Twill\Http\Front\Controller, to support unauthenticated requests redirection, custom error views and custom validation error responses.

    To be able to render custom exceptions or report them to an external service on a route that is mapped to Twill's controller, it is necessary to disable twill.bind_exception_handler. Your Laravel handler can then extend Twill's internal handler.

    The reasoning behind assigning a custom handler to the FrontController is to be able to redirect unauthenticated requests to /admin-preview routes that are registered by the showWithPreview route macro. This is the url showing in the CMS permalink when a record is still a draft. Not many Twill users are leveraging this frontend tooling, but it exists, so wanted to provide the rationale behind all this.

    This change is resolving an issue for users that were previously extending the handler for the reasons explained above, as well as making sure custom Twill errors views are automatically in use on the admin routes.

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Sep 2, 2021)

    Twill 2.5.0 is a non-breaking release bringing a lot of cool new features and improvements, especially around the block editor, which can now be used multiple times in the same form, thanks to the work that was started a while back by @m4n1ok, now fully completed by @ptrckvzn.

    This release also addresses multiple core issues and needs that have been reported by Twill users, as in content publishers and designers, not just developers.

    16 participants have contributed to this release: @peterabarry, @sebastianlenton, @mrdoinel, @mazeeblanke, @Keimeno, @joyceverheije , @domihagen, @pboivin, @Dmi3yy, @shawkiIIalasy, @m4n1ok, @ptrckvzn, @antonioribeiro, @mattdinthehouse, @daun, @ifox.

    Special mention goes to @pboivin for his extremely thoughtful and productive work on Twill over the last couple of months. More to come for Twill from this amazing collaboration!

    HOW TO UPDATE

    Run composer update and php artisan migrate in your project and then, run Twill's own update command: php artisan twill:update. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build.

    Added

    • Block editor updates
      • Ability to use multiple block_editor fields #918
      • Dynamic block/repeater titles #1096
      • Update content editor sidebar layout and add new icons #1072
      • Update default button variant for inner repeaters #1073
    • Form fields updates
      • Border option for 'radios' and 'checkbox'/'checkboxes' field #1088
      • Columns option for 'radios', 'select', 'checkboxes' and 'multi_select' fields #1088
      • Time picker form field 42d1880a 969e800c
      • Option to make multi select searchable bbead399
      • Automatic input direction for RTL languages e8a60d0f 318834c8 2b183493
      • Click-to-place on the Location field's map e48245aa
      • Support inverse HasOne relationship for BelongsTo browsers d1b67fa7 f1e6efc1 4f791c66
    • Capsules updates
      • Autoloading system for Capsules cec70d03
      • Translations files for Capsules 8f06ea53
    • General updates
      • SVG support with Glide #985
      • Configurable admin routes prefix 5e5b5a81
      • Allow configuring password broker and enable throttle b421561a
      • Ukrainian language c2c08603
      • Watch for custom blocks & components in development #1107
      • Allow setting dev_assets_path from .env 814ade6b

    Fixed

    • Prevent submitting a form before saving an input into the store #1030
    • Prevent multiple submit events in add/create modals 3dfb0c8f cb38ba53 40248552
    • Fix incorrect position of link edit options in wysiwyg editor when height limit is set f8276462
    • Ensure pasting content in quill do not make editor scroll to the top 07f7aa0051302a15
    • Safari form submit issue in Filter component 29a1f227 91390ac2
    • Support revisions preview and restore with belongsTo browsers #984 #1085
    • Toggle media library unused checkbox on clear only if active d73ff3eb
    • Order files by fileable id d7df01bf
    • Register capsules routes before Twill internal routes c1acb981
    • Issues when extending Twill's exceptions handler itca7a650e
    • Support multi-country locales on Translatable c5b341d4 5d9c9953
    • Fix Exception Handler broken for Laravel 8 569ce2e6 ce58aae5 76890ffa

    Improved

    Chores

    Source code(tar.gz)
    Source code(zip)
BaiCloud-cms is a powerful open source CMS that allows you to create professional websites and scalable web applications. Visit the project website for more information.

BaiCloud-cms About BaiCloud-cms is a powerful open source CMS that allows you to create professional websites and scalable web applications. Visit the

null 5 Aug 15, 2022
Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond.

About Craft CMS Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. It features: An intuitive, user-

Craft CMS 2.9k Nov 29, 2022
Powerful framework for designers and developers to create responsive, fast & robust Joomla based websites and templates.

Astroid Framework Powerful Frontend Template Framework for Joomla CMS Powerful framework for designers and developers to create responsive, fast & rob

JoomBoost 1 Oct 28, 2021
ProcessWire 3.x is a friendly and powerful open source CMS with a strong API.

Welcome to ProcessWire 3.x This document is in Markdown. An HTML formatted version of this document can be read at: https://github.com/processwire/pro

ProcessWire 799 Nov 26, 2022
Amila Laravel CMS - Free, open-source Simple Bootstrap Laravel CMS

Simple Bootstrap Laravel CMS. Support Laravel 8.x Can integrate into any existing Laravel project. Only add few database tables with prefixes, not affect your existing database tables. Support Laravel 7.x & Laravel 6.x & Laravel 5.x & MySql & PostgreSql - Amila Laravel CMS

Alex Zeng 96 Sep 6, 2022
Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS

Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS. Building this Content Management System, we focused on simplicity. To achieve this, we implemented a simple but powerful API's.

Flextype 520 Nov 28, 2022
NukeViet 132 Nov 27, 2022
PHPVibe Open source video CMS / Video Sharing CMS / Youtube Api v3 / Video Embeds

PHPVibe Video CMS Free Video Sharing CMS The modern choice of design inspired by Youtube and a social videos sharing module that may just cut it for y

MediaVibe 70 Nov 16, 2022
ExpressionEngine is a flexible, feature-rich, free open-source content management platform that empowers hundreds of thousands of individuals and organizations around the world to easily manage their web site.

ExpressionEngine CMS ExpressionEngine is a mature, flexible, secure, free open-source content management system. It is beloved by designers for giving

ExpressionEngine 405 Dec 2, 2022
ExpressionEngine is a mature, flexible, secure, free open-source content management system.

ExpressionEngine is a flexible, feature-rich, free open-source content management platform that empowers hundreds of thousands of individuals and organizations around the world to easily manage their web site.

ExpressionEngine 366 Mar 29, 2022
Intuitive Website Styling integrated into WordPress' Customizer

Customify - Intuitive Website Styling for WordPress With Customify, developers can easily create advanced theme-specific options inside the WordPress

Pixelgrade 28 Oct 6, 2022
A toolkit for using self-hosted Natural Language Processing with Elasticsearch and WordPress

Natural Language Processing Tools for WordPress A toolkit for using self-hosted Natural Language Processing in WordPress This plugin is a Proof of Con

Ricardo Moraleida 7 Sep 20, 2022
A flexible and fast Cms built with Symfony and Vuejs.

GreenCheap CMS A modular and lightweight CMS made with Symfony and Vuejs components GreenCheap works with PHP 8 version. In this case, lower versions

GreenCheap 57 Oct 29, 2022
REDAXO, a PHP-based CMS since 2004. Both simple and flexible.

?? Deutsch Content Management since 2004. Both simple and flexible. REDAXO provides you an easy-to-learn website framework. It lets you create content

REDAXO CMS c/o Yakamara Media GmbH & Co. KG 294 Nov 23, 2022
Kirby: the CMS that adapts to any project, loved by developers and editors alike.

Kirby: the CMS that adapts to any project, loved by developers and editors alike. The Starterkit is a full-blown Kirby installation with a lot of exam

Kirby 150 Oct 22, 2022
Borgert is a CMS Open Source created with Laravel Framework 5.6

A simple CMS to start projects in Laravel containing some modules. Blog, Pages, Products, Mailbox, Image Gallery, Log Viewer and Users. Frontend: Blog

Borgert Inc. 301 Aug 25, 2022
Free, open-source, self-hosted CMS platform based on the Laravel PHP Framework.

Winter is a Content Management System (CMS) and web platform whose sole purpose is to make your development workflow simple again. It was born out of

Winter CMS 1.1k Dec 3, 2022
Bolt CMS is an open source, adaptable platform for building and running modern websites.

Bolt CMS is an open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more. Read the site for more info.

Bolt 428 Nov 23, 2022
🚀Bolt CMS is an open source, adaptable platform for building and running modern websites

??Bolt CMS is an open source, adaptable platform for building and running modern websites

Bolt 32 Dec 3, 2022