A Laravel publishing platform

Overview

Canvas homepage

Build Status Total Downloads Latest Stable Version License

Introduction

Canvas is a fully open source package to extend your existing Laravel application and get you up-and-running with a blog in just a few minutes. In addition to a distraction-free writing experience, you can view monthly trends on your content, get insights into reader traffic and more!

Table of Contents

System Requirements

Installation

You may use composer to install Canvas into your Laravel project:

composer require austintoddj/canvas

Publish the assets and primary configuration file using the canvas:install Artisan command:

php artisan canvas:install

Create a symbolic link to ensure file uploads are publicly accessible from the web using the storage:link Artisan command:

php artisan storage:link

Configuration

After publishing Canvas's assets, a primary configuration file will be located at config/canvas.php. This file allows you to customize various aspects of how your application uses the package.

Canvas exposes its UI at /canvas by default. This can be changed by updating either the path or domain option:

/*
|--------------------------------------------------------------------------
| Base Domain
|--------------------------------------------------------------------------
|
| This is the subdomain where Canvas will be accessible from. If the
| domain is set to null, Canvas will reside under the defined base
| path below. Otherwise, this will be used as the subdomain.
|
*/

'domain' => env('CANVAS_DOMAIN', null),

/*
|--------------------------------------------------------------------------
| Base Path
|--------------------------------------------------------------------------
|
| This is the URI where Canvas will be accessible from. If the path
| is set to null, Canvas will reside under the same path name as 
| the application. Otherwise, this is used as the base path.
|
*/

'path' => env('CANVAS_PATH_NAME', 'canvas'),

Sometimes, you may want to apply custom roles or permissions when accessing Canvas. You can create and attach any additional middleware here:

/*
|--------------------------------------------------------------------------
| Route Middleware
|--------------------------------------------------------------------------
|
| These middleware will be attached to every route in Canvas, giving you
| the chance to add your own middleware to this list or change any of
| the existing middleware. Or, you can simply stick with the list.
|
*/

'middleware' => [
    'web',
],

Canvas uses the storage disk for media uploads. You may configure the different filesystem options here:

/*
|--------------------------------------------------------------------------
| Storage
|--------------------------------------------------------------------------
|
| This is the storage disk Canvas will use to put file uploads. You may
| use any of the disks defined in the config/filesystems.php file and
| you may also change the maximum upload size from its 3MB default.
|
*/

'storage_disk' => env('CANVAS_STORAGE_DISK', 'local'),

'storage_path' => env('CANVAS_STORAGE_PATH', 'public/canvas'),

'upload_filesize' => env('CANVAS_UPLOAD_FILESIZE', 3145728),

Roles & Permissions

Canvas has 3 pre-defined roles:

  • Contributor (Somebody who can write and manage their own posts but cannot publish them)
  • Editor (Somebody who can publish and manage posts including the posts of other users)
  • Admin (Somebody who can do everything and see everything)

When you install a fresh version of Canvas, you'll have a default admin user set up automatically. From there, you can perform any basic CRUD actions on users, as well as assign their various roles.

Features

Note: The following features are completely optional, you are not required to use them.

Frontend

Want a beautiful, Medium.com-inspired frontend? Use the canvas:ui Artisan command to install the scaffolding:

php artisan canvas:ui

After generating the frontend scaffolding, your package.json file will include the necessary dependencies to install and compile:

# Using NPM
npm install
npm run dev

# Using Yarn
yarn
yarn dev

That's it! You can navigate to /canvas-ui and check it out for yourself. You're free to modify any aspect of it that you'd like.

Unsplash Integration

Want access to the entire Unsplash library? Set up a new application at https://unsplash.com/oauth/applications, grab your access key, and update config/canvas.php:

/*
|--------------------------------------------------------------------------
| Unsplash Integration
|--------------------------------------------------------------------------
|
| Visit https://unsplash.com/oauth/applications to create a new Unsplash
| app. Use the confidential Access Key given to you to integrate with
| the API. Note that demo apps are limited to 50 requests per hour.
|
*/

'unsplash' => [
    'access_key' => env('CANVAS_UNSPLASH_ACCESS_KEY'),
]

Weekly Digest

Want a weekly summary? Canvas allows users to receive a weekly summary of their authored content. Once your application is configured for sending mail, update config/canvas.php:

/*
|--------------------------------------------------------------------------
| E-Mail Notifications
|--------------------------------------------------------------------------
|
| This option controls e-mail notifications that will be sent via the
| default application mail driver. A default option is provided to
| support the notification system as an opt-in feature.
|
|
*/

'mail' => [
    'enabled' => env('CANVAS_MAIL_ENABLED', false),
]

Since the weekly digest runs on Laravel's Scheduler, you'll need to add the following cron entry to your server:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Updates

Canvas follows Semantic Versioning and increments versions as MAJOR.MINOR.PATCH numbers.

  • Major versions will contain breaking changes, so follow the upgrade guide for a step-by-step breakdown
  • Minor and patch versions should never contain breaking changes, so you can safely update the package by following the steps below:

You may update your Canvas installation using composer:

composer update

Run any new migrations using the canvas:migrate Artisan command:

php artisan canvas:migrate

Re-publish the assets using the canvas:publish Artisan command:

php artisan canvas:publish

To keep the assets up-to-date and avoid issues in future updates, you may add the canvas:publish command to the post-update-cmd scripts in your application's composer.json file:

{
    "scripts": {
        "post-update-cmd": [
            "@php artisan canvas:publish --ansi"
        ]
    }
}

Contributing

Thank you for considering contributing to Canvas!

You can open a completely prebuilt, ready-to-code development environment using Gitpod.

Open in Gitpod

Alternatively, you can use the contribution guide to assist you in manually setting up an environment on your own machine.

One of the ongoing goals for Canvas is to make it as accessible as possible. If you come across any translation mistakes or issues and want to make a contribution, please create a pull request. If you don't see your native language included in the resources/lang directory, feel free to add it.

Testing

Run the tests with:

composer test

License

Canvas is open-sourced software licensed under the MIT license.

Credits

Comments
  • added version function to gulpfile via elixir

    added version function to gulpfile via elixir

    I recently had an issue with updating my CSS. I modified some SCSS files and run gulp but it was not reflected in my browser (was using chrome).

    I couldn't resolve the issue, so I thought it could be a cache issue...

    After adding the version() function of elixir changes were reflected instantly.

    opened by Naoray 41
  • Replaced tntsearch with the laravel scout tnt driver

    Replaced tntsearch with the laravel scout tnt driver

    Should fix #195 since its using a native laravel implementation now

    Whilst a new .env file variable can be set to override the search driver should the user want to use another search provider, by default it'll default to tntsearch even if the .env file hasn't been updated.

    There should no breaking changes with this patch

    opened by talvbansal 28
  • Artisan file missing (Could not open input file: artisan)

    Artisan file missing (Could not open input file: artisan)

    I'm not deathly familiar with Laravel, but it seems like composer require austintoddj/canvas Doesn't seem to supply any artisan file anywhere. The same applies to the various other composer commands I've found. (I.E. composer create-project --prefer-dist austintoddj/canvas blog)

    I'm unsure if I'm missing something that is usually a given with deploying Laravel projects or if there's something not working correctly.

    question 
    opened by Catbirby 26
  • Questions about usage

    Questions about usage

    I've been trying to display all the tags associated with any particular post and I've found it very complicated to figure out. But it could all be very easy if the post table has foreign keys to the tags and topics table. That way, querying wouldn't be so complicated.

    question 
    opened by ruffcoins 26
  • [WIP] Configurable Post Routes

    [WIP] Configurable Post Routes

    As described in #167, this PR allows you to configure how post URLs are structured. With this you can do so in 2 steps.

    The first is to change which url parameters are required in config/blog.php. You can do so by uncommenting the parameters you want in your url.

        'post_params' => [
    //        'id',
            'slug',
            'year',
            'month',
            'day',
        ],
    

    Second you'll want to change the blog.post.show route to include those parameters:

    // Blog Post Page
    Route::get('{year}/{month}/{day}/{slug}', 'Frontend\BlogController@showPost')->name('blog.post.show');
    

    From there it should just work.

    Let me know what you think about this approach. Obviously there are some issues with upgrading in the future but I think we can address those using the approach Laravel Spark is taking as we talked about in #95

    fixes #167

    opened by tomschlick 26
  • UUID not compatible with users table

    UUID not compatible with users table

    SQLSTATE[01000]: Warning: 1265 Data truncated for column 'user_id' at row 1 (SQL: update sessions set payload = [...], last_activity = 1602582982, user_id = 31a80d8f-086c-4289-b6ed-e467cf041c9d, ip_address = ::1, user_agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36 where id = fS7SZ2ZbvoTXqtQuiHb3HtikPguzXlecsz9D1iy9)

    But the users table used in core laravel uses a bigint for user_id

    opened by JeremyChb 24
  • Integration with current project rather than creating new

    Integration with current project rather than creating new

    As per title, is this possible? I cannot seem to find anything regarding this in the documentation.

    The documentation only shows the installation guide which starts a project from scratch.

    P.S. I do know that this is not the correct place to ask questions, but there isn't a platform for any form of support so far. Sorry!

    opened by ruchernchong 24
  • Laravel 5.3 Shift

    Laravel 5.3 Shift

    This pull request includes the changes for upgrading to Laravel 5.3.

    Before merging, you should:

    • Checkout the laravel-5.3-shift branch
    • Review all pull request comments for additional changes
    • Run composer install
    • Thoroughly test your application

    Commit any additional changes to the laravel-5.3-shift branch. If there were changes you feel could have been automated, please leave a comment on this pull request to help improve Laravel Shift.

    opened by laravel-shift 24
  • Cannot upload files or create folders

    Cannot upload files or create folders

    When I attempt to upload a file, or create a new folder within the media interface, the file does not appear, and I get a strange gray box at the top right of the screen for about 5-10 seconds:

    screen shot 2016-09-29 at 9 28 35 am

    This happens both when editing a post, as well as when inside the main media interface.

    I have noticed that when I attempt to upload a file, a directory named undefined is created inside of /public/storage and the file is inside that new directory. However, it never appears in the web UI.

    Here is the output of the system information:

    ### Begin System Info ###
    
    ## Please include this information when requesting technical support ##
    
    SITE_URL:                   www.christiaanconover.com
    SITE_IP:                    100.16.90.229
    SITE_TIMEZONE:              America/New_York
    
    PHP_VERSION:                7.0.8-0ubuntu0.16.04.2
    PHP_MEMORY_LIMIT:           128M
    PHP_TIME_LIMIT:             30
    
    DATABASE_CONNECTION:        MYSQL
    
    WEB_SERVER:                 nginx
    
    LAST_INDEX_RUN:             2016-09-29 09:27:49
    
    ### End System Info ###
    
    opened by cconover 20
  • [Suggestion] Add contact me

    [Suggestion] Add contact me

    Here a little problematic : if I dont like using social networks, how a potential customer/company can contact me from the blog ? Is there a possibility to show email / phone number ? If not, what do you think about a new envelop icon next to social networks that redirect to a contact form, or redirect to a mailto:[email protected] ?

    opened by soywod 19
  • jQuery Author Popup Overlay

    jQuery Author Popup Overlay

    On each blog post page, there is an author signature at the bottom, specifying some personal social media channels, the author name and the author bio.

    To give a little more information, including the ability to have a contact link, and downloadable Resume/CV link(If the author included this), I'd like to see a popup implemented by clicking on the Author name or gravatar.

    Take a look at this working example, specifically the Stand Alone button.

    I've created the author-popup branch as a starting point, and anyone who wants to take a stab at this is more than welcome!

    Contributors who I thought may be interested or have shown skill in this area: @talvbansal @fergthh @Vviizard @soywod

    opened by austintoddj 17
  • Bump eslint from 8.30.0 to 8.31.0

    Bump eslint from 8.30.0 to 8.31.0

    Bumps eslint from 8.30.0 to 8.31.0.

    Release notes

    Sourced from eslint's releases.

    v8.31.0

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)

    Documentation

    • 4339dc4 docs: Update README (GitHub Actions Bot)
    • 4e4049c docs: optimize code block structure (#16669) (Sam Chen)
    • 54a7ade docs: do not escape code blocks of formatters examples (#16719) (Sam Chen)
    • e5ecfef docs: Add function call example for no-undefined (#16712) (Elliot Huffman)
    • a3262f0 docs: Add mastodon link (#16638) (Amaresh S M)
    • a14ccf9 docs: clarify files property (#16709) (Sam Chen)
    • 3b29eb1 docs: fix npm link (#16710) (Abdullah Osama)
    • a638673 docs: fix search bar focus on Esc (#16700) (Shanmughapriyan S)
    • f62b722 docs: country flag missing in windows (#16698) (Shanmughapriyan S)
    • 4d27ec6 docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)
    • 8bda20e docs: remove manually maintained anchors (#16685) (Percy Ma)
    • b68440f docs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)

    Chores

    • 65d4e24 chore: Upgrade @​eslint/eslintrc@​1.4.1 (#16729) (Brandon Mills)
    • 8d93081 chore: fix CI failure (#16721) (Sam Chen)
    • 8f17247 chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)
    • 4cd87cb ci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])
    • fd20c75 chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)
    • 10a5c78 chore: update ignore patterns in eslint.config.js (#16678) (Milos Djermanovic)
    Changelog

    Sourced from eslint's changelog.

    v8.31.0 - December 31, 2022

    • 65d4e24 chore: Upgrade @​eslint/eslintrc@​1.4.1 (#16729) (Brandon Mills)
    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)
    • 8d93081 chore: fix CI failure (#16721) (Sam Chen)
    • 4339dc4 docs: Update README (GitHub Actions Bot)
    • 8f17247 chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)
    • 4e4049c docs: optimize code block structure (#16669) (Sam Chen)
    • 54a7ade docs: do not escape code blocks of formatters examples (#16719) (Sam Chen)
    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
    • e5ecfef docs: Add function call example for no-undefined (#16712) (Elliot Huffman)
    • a3262f0 docs: Add mastodon link (#16638) (Amaresh S M)
    • 4cd87cb ci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])
    • a14ccf9 docs: clarify files property (#16709) (Sam Chen)
    • 3b29eb1 docs: fix npm link (#16710) (Abdullah Osama)
    • fd20c75 chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)
    • a638673 docs: fix search bar focus on Esc (#16700) (Shanmughapriyan S)
    • f62b722 docs: country flag missing in windows (#16698) (Shanmughapriyan S)
    • 4d27ec6 docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)
    • 8bda20e docs: remove manually maintained anchors (#16685) (Percy Ma)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
    • b68440f docs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)
    • 10a5c78 chore: update ignore patterns in eslint.config.js (#16678) (Milos Djermanovic)
    Commits

    Dependabot compatibility score

    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)
    dependencies npm 
    opened by dependabot[bot] 0
  • Bump axios from 1.2.1 to 1.2.2

    Bump axios from 1.2.1 to 1.2.2

    Bumps axios from 1.2.1 to 1.2.2.

    Release notes

    Sourced from axios's releases.

    1.2.2

    [1.2.2] - 2022-12-29

    Fixed

    • fix(ci): fix release script inputs #5392
    • fix(ci): prerelease scipts #5377
    • fix(ci): release scripts #5376
    • fix(ci): typescript tests #5375
    • fix: Brotli decompression #5353
    • fix: add missing HttpStatusCode #5345

    Chores

    • chore(ci): set conventional-changelog header config #5406
    • chore(ci): fix automatic contributors resolving #5403
    • chore(ci): improved logging for the contributors list generator #5398
    • chore(ci): fix release action #5397
    • chore(ci): fix version bump script by adding bump argument for target version #5393
    • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 #5342
    • chore(ci): GitHub Actions Release script #5384
    • chore(ci): release scripts #5364

    Contributors to this release

    Changelog

    Sourced from axios's changelog.

    [1.2.2] - 2022-12-29

    Fixed

    • fix(ci): fix release script inputs #5392
    • fix(ci): prerelease scipts #5377
    • fix(ci): release scripts #5376
    • fix(ci): typescript tests #5375
    • fix: Brotli decompression #5353
    • fix: add missing HttpStatusCode #5345

    Chores

    • chore(ci): set conventional-changelog header config #5406
    • chore(ci): fix automatic contributors resolving #5403
    • chore(ci): improved logging for the contributors list generator #5398
    • chore(ci): fix release action #5397
    • chore(ci): fix version bump script by adding bump argument for target version #5393
    • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 #5342
    • chore(ci): GitHub Actions Release script #5384
    • chore(ci): release scripts #5364

    Contributors to this release

    Commits
    • 8ea4324 chore(docs): added latest release notes
    • 45c4948 chore: build new version
    • 6f74cb1 chore(ci): set conventional-changelog header config; (#5406)
    • 8de391f chore(ci): fix automatic contributors resolving; (#5403)
    • 341f735 chore(ci): improved logging for the contributors list generator;
    • 46085e6 chore(ci): fix release action;
    • f12d01e chore(ci): fix version bump script by adding bump argument for target version;
    • 75217e6 fix(ci): fix release script inputs;
    • c1fc33c chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2
    • 45b29db GitHub Actions Release script; (#5384)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    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)
    dependencies npm 
    opened by dependabot[bot] 0
  • Save full path of images with domain appended to it

    Save full path of images with domain appended to it

    Images uploaded on the editor are saved without the domain as below. Check src value <img alt=\"Nottingham forest celebrating a goal\" src=\"\/storage\/canvas\/images\/WhNta2YxAKYOf7KXuyxRxSl1Z4jg3bvVPvjhGJuz.jpg\">

    How can I make the image src be saved with the full path eg: https://domain.com/storage/canvas/images/WhNta2YxAKYOf7KXuyxRxSl1Z4jg3bvVPvjhGJuz.jpg

    needs more info 
    opened by Ochieng424 2
  • /canvas-ui is blank

    /canvas-ui is blank

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Current Behavior

    I install canvas-ui, and visit this in the browser:

    /canvas-ui

    I just get a blank page.

    Expected Behavior

    I was expecting to see a front end. (Maybe I've misunderstood what canvas-ui command does!)

    Steps To Reproduce

    In local, install canvas via composer

    Run the install comand

    run php artisan canvas:ui run npm install run npm run dev

    Create a demo post

    Go to /canvas-ui and see bank screen

    Environment

    PHP 8.1.7
    LARAVEL v9.43.0
    MySql
    

    Anything else?

    I'm pretty sure it;s something I'm doing wrong here!

    bug 
    opened by adrelliott 2
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    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) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v6.0.44)
Owner
Todd Austin
Engineering manager @creativemarket. Mentor @LambdaSchool
Todd Austin
Vuedo is a blog platform, built with Laravel and Vue.js.

Vuedo What is Vuedo? Vuedo is an open source project built with Laravel and Vue.js. It is a live example of how everything works together. Interested

vuedo 2.3k Dec 24, 2022
Invoices, Expenses and Tasks built with Laravel and Flutter

Invoice Ninja Hosted | Self-Hosted We're on Slack, join us at slack.invoiceninja.com or if you like StackOverflow Just make sure to add the invoice-ni

Invoice Ninja 6.8k Jan 9, 2023
The Laravel.io Community Portal.

Laravel.io This is the repository for the Laravel.io community portal. The code is entirely open source and licensed under the MIT license. We welcome

Laravel.io 2.2k Dec 23, 2022
Laravel e-commerce Application.

Antvel Introduction Antvel is an ecommerce project written in Laravel 5.* intended for building a friendly eStore either for startups or big companies

Antvel - Official 650 Dec 28, 2022
Examples of using each Illuminate component in non-Laravel applications

Torch - Using Laravel's Illuminate Components Independently Torch is a project to provide instructions and examples for using Illuminate components as

Matt Stauffer 1.7k Dec 30, 2022
A Laravel-based publishing platform

Wink adds a nice UI where you can manage a publication of any size with posts, pages, tags, and authors. You can add photos, code blocks, featured ima

Mohamed Said 2.7k Dec 31, 2022
:lipstick: Scalable and durable all-purpose data import library for publishing APIs and SDKs.

Porter Scalable and durable data imports for publishing and consuming APIs Porter is the all-purpose PHP data importer. She fetches data from anywhere

null 594 Jan 1, 2023
PHP CLI tool which allows publishing zipped MODX extra to modstore.pro marketplace

MODX Extra Publisher PHP CLI tool which allows publishing zipped MODX extra to modstore.pro marketplace. Installation global? local? To install packag

Ivan Klimchuk 3 Aug 6, 2021
Libraries and scripts for crawling the TYPO3 page tree. Used for re-caching, re-indexing, publishing applications etc.

Libraries and scripts for crawling the TYPO3 page tree. Used for re-caching, re-indexing, publishing applications etc.

AOE 0 Sep 14, 2021
Simple, beautiful, open source publishing.

Simple, beautiful publishing. Website Documentation Created by Cory LaViska Maintained by Marc Apfelbaum Requirements PHP 7.1+ with curl, gd lib, mbst

Leafpub 646 Dec 21, 2022
Scalable and durable data imports for publishing and consuming APIs

Porter Scalable and durable data imports for publishing and consuming APIs Porter is the all-purpose PHP data importer. She fetches data from anywhere

null 596 Jan 6, 2023
Google Cloud Eventarc Publishing for PHP

Google Cloud Eventarc Publishing for PHP Idiomatic PHP client for Google Cloud Eventarc Publishing. API documentation NOTE: This repository is part of

Google APIs 0 Apr 28, 2022
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. It allows you to query some other server information

QueryServer This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. I

Thành Nhân 1 Jul 6, 2022
This is a plugin written in the PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform. It helps to liven up your server with Tags!

General This is a plugin written in the PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform.

Thành Nhân 4 Oct 21, 2021
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform

This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform. It allows you to hear the sound

Thành Nhân 10 Sep 27, 2022
The platform allows you to manage articles, comments, tags, categories, and users for a blogging platform.

Laravel Blogging Platform The platform allows you to manage articles, comments, tags, categories, and users for a blogging platform. The project was w

Khaled Farhat 6 Oct 2, 2022
The Platform.sh CLI is the official command-line interface for Platform.sh

The Platform.sh CLI is the official command-line interface for Platform.sh. Use this tool to interact with your Platform.sh projects, and to build them locally for development purposes.

Platform.sh 222 Dec 29, 2022
Simple Symfony API-Platform Template which you can use to start to develop with symfony and api-platform

symfony-api-platform-skeleton Simple Template for Symfony API You can fork it and change the git remote to your Repo git remote set-url <your-git-remo

null 1 Jan 23, 2022
Self-hosted CMS platform based on the Laravel PHP Framework.

October 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

October CMS 10.8k Jan 4, 2023
A platform to create documentation/wiki content built with PHP & Laravel

BookStack A platform for storing and organising information and documentation. Details for BookStack can be found on the official website at https://w

BookStackApp 10.6k Jan 3, 2023