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] Add ability to accepts parameters when using BladePartial directive

    [3.x] Add ability to accepts parameters when using BladePartial directive

    Add ability to accepts parameters when using the FormBuilder to include blade partials.

    Description

    Right now we have the ability to use BladePartial in the FormBuilder for including view, but it is lacking the ability to send parameters/options to those views. This pull requests aims to solve that situation.

    Example

    With this PR we'll be able to do:

    use A17\Twill\Services\Forms\BladePartial;
    
    ...
    
        BladePartial::make()
            ->view('twill.shared.link', [
               'field_prefix' => 'recirculation',
               'label_note' => 'Optional. Page title will be used if empty.',
            ])
    
    opened by sauron 2
  • Repeaters have wrong field values inside a cloned block

    Repeaters have wrong field values inside a cloned block

    Description

    When repeater is inside a block editor, and we clone this block, repeater's data is wrong, fields values are the same within several repeaters. Maybe it is connected with https://github.com/area17/twill/issues/1818, but in that issue repeater's fields are empty and in my case I have them filled with wrong data

    Steps to reproduce

    1. Define a block editor with repeater block.
    2. Add several repeater items & fill it's form fields.
    3. Duplicate the field.

    Also possible to watch the video to understand: Download example video.

    Expected result

    Repeaters fields values in cloned block are exactly the same as in the initial block

    Actual result

    Cloned repeaters fields data is wrong, it has the same values within several items instead of all different data in each of them, exactly like in the initial block photo1663749667

    Versions

    Twill version: 2.8.7 Laravel version: 8.0 PHP version: 7.4 Database engine: Mysql: 5.7

    opened by ianinadavydova 0
  • [future] Add interfaces

    [future] Add interfaces

    Currently there are not many interfaces used.

    Interfaces can help improving the api stability between major releases.

    The plan is to add interfaces to all public facing classes such as:

    • [ ] Repositories
    • [ ] Models
    • [ ] Controllers
    • [ ] Requests

    We need to add an interface for each of the traits we provide, for example in repository we can create the interface:

    handlesMedias and implement the trait handleMedias

    Ideally we provide an upgrade path for this. Perhaps we can do this using rector?

    opened by haringsrob 0
  • Bump ejs, @vue/cli-plugin-babel, @vue/cli-plugin-eslint and @vue/cli-service

    Bump ejs, @vue/cli-plugin-babel, @vue/cli-plugin-eslint and @vue/cli-service

    Removes ejs. It's no longer used after updating ancestor dependencies ejs, @vue/cli-plugin-babel, @vue/cli-plugin-eslint and @vue/cli-service. These dependencies need to be updated together.

    Removes ejs

    Updates @vue/cli-plugin-babel from 4.5.12 to 5.0.8

    Release notes

    Sourced from @​vue/cli-plugin-babel's releases.

    v5.0.8

    :bug: Bug Fix

    v5.0.7

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    v5.0.6

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    v5.0.5

    :bug: Bug Fix

    • @vue/cli
      • #7167 fix(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service
    • @vue/cli-plugin-e2e-cypress
      • [697bb44] fix: should correctly resolve cypress bin path for Cypress 10 (Note that the project is still created with Cypress 9 by default, but you can upgrade to Cypress 10 on your own now)

    Committers: 3

    v5.0.4

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    v5.0.3

    ... (truncated)

    Changelog

    Sourced from @​vue/cli-plugin-babel's changelog.

    5.0.7 (2022-07-05)

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    5.0.6 (2022-06-16)

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    5.0.5 (2022-06-16)

    :bug: Bug Fix

    • @vue/cli
      • #7167 feat(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service

    Committers: 3

    5.0.4 (2022-03-22)

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    ... (truncated)

    Commits

    Updates @vue/cli-plugin-eslint from 4.5.17 to 5.0.8

    Release notes

    Sourced from @​vue/cli-plugin-eslint's releases.

    v5.0.8

    :bug: Bug Fix

    v5.0.7

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    v5.0.6

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    v5.0.5

    :bug: Bug Fix

    • @vue/cli
      • #7167 fix(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service
    • @vue/cli-plugin-e2e-cypress
      • [697bb44] fix: should correctly resolve cypress bin path for Cypress 10 (Note that the project is still created with Cypress 9 by default, but you can upgrade to Cypress 10 on your own now)

    Committers: 3

    v5.0.4

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    v5.0.3

    ... (truncated)

    Changelog

    Sourced from @​vue/cli-plugin-eslint's changelog.

    5.0.7 (2022-07-05)

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    5.0.6 (2022-06-16)

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    5.0.5 (2022-06-16)

    :bug: Bug Fix

    • @vue/cli
      • #7167 feat(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service

    Committers: 3

    5.0.4 (2022-03-22)

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    ... (truncated)

    Commits

    Updates @vue/cli-service from 4.5.17 to 5.0.8

    Release notes

    Sourced from @​vue/cli-service's releases.

    v5.0.8

    :bug: Bug Fix

    v5.0.7

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    v5.0.6

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    v5.0.5

    :bug: Bug Fix

    • @vue/cli
      • #7167 fix(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service
    • @vue/cli-plugin-e2e-cypress
      • [697bb44] fix: should correctly resolve cypress bin path for Cypress 10 (Note that the project is still created with Cypress 9 by default, but you can upgrade to Cypress 10 on your own now)

    Committers: 3

    v5.0.4

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    v5.0.3

    ... (truncated)

    Changelog

    Sourced from @​vue/cli-service's changelog.

    5.0.7 (2022-07-05)

    • @vue/cli-service
    • @vue/cli-ui
      • #7210 chore: upgrade to apollo-server-express 3.x

    Committers: 2

    5.0.6 (2022-06-16)

    Fix compatibility with the upcoming Vue 2.7 (currently in alpha) and Vue Loader 15.10 (currently in beta).

    In Vue 2.7, vue-template-compiler is no longer a required peer dependency. Rather, there's a new export under the main package as vue/compiler-sfc.

    5.0.5 (2022-06-16)

    :bug: Bug Fix

    • @vue/cli
      • #7167 feat(upgrade): prevent changing the structure of package.json file during upgrade (@​blzsaa)
    • @vue/cli-service

    Committers: 3

    5.0.4 (2022-03-22)

    :bug: Bug Fix

    • @vue/cli-service
    • @vue/cli-shared-utils, @vue/cli-ui
      • 75826d6 fix: replace node-ipc with @achrinza/node-ipc to further secure the dependency chain

    Committers: 1

    ... (truncated)

    Commits
    • b154dbd v5.0.8
    • 0260e4d fix: add devServer.server.type to useHttps judgement (#7222)
    • 4a0655f v5.0.7
    • beffe8a fix: allow disabling progress plugin via devServer.client.progress
    • 558dea2 fix: support devServer.server option, avoid deprecation warning
    • bddd64d fix: optimize the judgment on whether HTTPS has been set in options (#7202)
    • ef08a08 v5.0.6
    • fcf27e3 fixup! fix: compatibility with Vue 2.7
    • a648958 fix: compatibility with Vue 2.7
    • 98c66c9 v5.0.5
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 1
Releases(2.12.4)
  • 2.12.4(Jan 4, 2023)

  • 2.12.3(Jan 3, 2023)

  • 2.12.2(Dec 20, 2022)

  • 3.0.0-rc1(Dec 19, 2022)

    This is the first release candidate for Twill 3!

    Features

    • Form builder now supports fieldsets, side forms, columns and more #1963
    • Blocks can now be cloned from within the editor #1912
    • Developer experience: Added a feature that can auto-login on development environments #1904

    Improvements

    • A new slug implementation to have more consisten slug creation #1897
    • Various styling fixes
    • Improved defaults such as svg support
    • Improved documentation styling and generator

    Bugfixes

    • Many issues have been resolved in since beta2.

    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.12.1(Dec 6, 2022)

  • 2.12.0(Nov 30, 2022)

    Breaking change

    • Route::singleton is now Route::twillSingleton #1961

    Features

    • Checkboxes can now have notes #1354
    • Blocks in the editor can now be cloned #1748

    Bugfixes

    • Various bug fixes

    New Contributors

    • @tudor-sv made their first contribution in https://github.com/area17/twill/pull/1869

    Full Changelog: https://github.com/area17/twill/compare/2.11.0...2.12.0

    Source code(tar.gz)
    Source code(zip)
  • 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)
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 Jan 1, 2023
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 804 Jan 3, 2023
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 524 Dec 30, 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 71 Dec 18, 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 412 Dec 27, 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 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 302 Jan 8, 2023
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 151 Dec 23, 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. 300 Dec 30, 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 Jan 3, 2023
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 8 Dec 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. Built on PHP, Symfony and more. Read the site for more info.

Bolt 437 Jan 4, 2023
🚀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