All Projects → acquia → Lightning

acquia / Lightning

Licence: gpl-2.0
Lightning is a base distribution for fast and feature-rich Drupal. Please submit issues to our Drupal.Org queue here: https://www.drupal.org/project/issues/lightning

Projects that are alternatives of or similar to Lightning

Lightning Project
A Composer-based installer for the Lightning distribution of Drupal 8.
Stars: ✭ 137 (-30.1%)
Mutual labels:  drupal, lightning
Drush
Drush is a command-line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those who spend their working hours hacking away at the command prompt.
Stars: ✭ 2,213 (+1029.08%)
Mutual labels:  drupal
Create Lwc App
Quickstart command line interface for scaffolding your Lightning Web Components projects
Stars: ✭ 144 (-26.53%)
Mutual labels:  lightning
Study Groups
Study materials for Bitcoin & Lightning Protocol
Stars: ✭ 173 (-11.73%)
Mutual labels:  lightning
M2cgen
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies
Stars: ✭ 1,962 (+901.02%)
Mutual labels:  lightning
Lncli Web
Light-weight web client for the lnd daemon written in NodeJS / Angular.
Stars: ✭ 181 (-7.65%)
Mutual labels:  lightning
Paper
Lightning Network Paper
Stars: ✭ 136 (-30.61%)
Mutual labels:  lightning
Haoide
Stop upgrade, most of features were delivered in https://github.com/xjsender/haoide-vscode
Stars: ✭ 194 (-1.02%)
Mutual labels:  lightning
Bolt
The Bolt Design System provides robust Twig and Web Component-powered UI components, reusable visual styles, and powerful tooling to help developers, designers, and content authors build, maintain, and scale best of class digital experiences.
Stars: ✭ 186 (-5.1%)
Mutual labels:  drupal
Emulsify
DEPRECATED (see README for new version)
Stars: ✭ 165 (-15.82%)
Mutual labels:  drupal
Webln
Spec and client library for WebLN apps and providers
Stars: ✭ 165 (-15.82%)
Mutual labels:  lightning
Interledger Rs
An easy-to-use, high-performance Interledger implementation written in Rust
Stars: ✭ 155 (-20.92%)
Mutual labels:  lightning
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-6.12%)
Mutual labels:  drupal
Composer Drupal Optimizations
Saves memory and CPU cycles when you run `composer update`
Stars: ✭ 144 (-26.53%)
Mutual labels:  drupal
Ln Service
Node.js interface to LND
Stars: ✭ 191 (-2.55%)
Mutual labels:  lightning
Devshop
Open Source DevOps Framework
Stars: ✭ 161 (-17.86%)
Mutual labels:  drupal
Zeus
A mobile Bitcoin/Lightning app for lnd, c-lightning, and Eclair node operators ⚡️
Stars: ✭ 175 (-10.71%)
Mutual labels:  lightning
Fleetx
Paddle Distributed Training Extended. 飞桨分布式训练扩展包
Stars: ✭ 196 (+0%)
Mutual labels:  lightning
Drupalextension
An integration layer between Behat, Mink Extension, and Drupal.
Stars: ✭ 191 (-2.55%)
Mutual labels:  drupal
Drupal Code Generator
A code generator for Drupal.
Stars: ✭ 184 (-6.12%)
Mutual labels:  drupal

Drupal Lightning

Lightning logo of a bolt of lightning

Build Status

Lightning's mission is to enable developers to create great authoring experiences and empower editorial teams.

You'll notice that Lightning appears very sparse out of the box. This is by design. We want to empower editorial teams and enable developers to jump-start their site builds. That means that a developer should never have to undo something that Lightning has done. So we started with a blank slate and justified each addition from there.

Installing Lightning

The preferred way to install Lightning is using our Composer-based project template. It's easy!

$ composer self-update
$ composer create-project acquia/lightning-project MY_PROJECT

If you don't want to use Composer, you can install Lightning the traditional way by downloading a tarball from Lightning's GitHub releases page. (Please note that the tarball generated by Drupal.Org's packager does not include required Composer dependencies and should not be used without following the special instructions found there.)

You can customize your installation by creating a sub-profile which uses Lightning as its base profile. Lightning includes a Drupal Console command (lightning:subprofile) which will generate a sub-profile for you.

Installing from exported config

Lightning can be installed from a set of exported configuration (e.g., using the --existing-config option with drush site:install). This method of installation is fully supported and tested.

What Lightning Does

Through custom, contrib, and core modules plus configuration, Lightning aims to target four functional areas:

Media

The current version of media includes the following functionality:

  • A preconfigured Text Format (Rich Text) with CKEditor WYSIWYG.
  • A media button (indicated by a star -- for now) within the WYSIWYG that launches a custom media widget.
  • The ability to place media into the text area and have it fully embedded as it will appear in the live entity. The following media types are currently supported:
    • Tweets
    • Instagram posts
    • Videos (YouTube and Vimeo supported out of the box)
    • Images
  • Drag-and-drop bulk image uploads.
  • Image cropping.
  • Ability to create new media through the media library (/media/add)
  • Ability to embed tweets, Instagrams, and YouTube/Vimeo videos directly into CKEditor by pasting the video URL

Extending Lightning Media (Contributed Modules)

Drupal community members have contributed several modules which integrate Lightning Media with additional third-party media services. These modules are not packaged with Lightning or maintained by Acquia, but they are stable and you can use them in your Lightning site:

Layout

Lightning includes a Landing Page content type which allows editors to create and place discrete blocks of content in any order and layout they wish using an intuitive, accessible interface. Lightning also allows site builders to define default layouts for content types using the same interface - or define multiple layouts and allow editors to choose which one to use for each post.

Workflow

Lightning includes tools for building organization-specific content workflows. Out of the box, Lightning gives you the ability to manage content in one of four workflow states (draft, needs review, published, and archived). You can create as many additional states as you like and define transitions between them. It's also possible to schedule content to be transitioned between states at a specific future date and time.

API-First

Lightning ships with several modules which, together, quickly set up Drupal to deliver data to decoupled applications via a standardized API. By default, Lightning installs the OpenAPI and JSON:API modules, plus the Simple OAuth module, as a toolkit for authentication, authorization, and delivery of data to API consumers. Currently, Lightning includes no default configuration for any of these modules, because it does not make any assumptions about how the API data will be consumed, but we might add support for standard use cases as they present themselves.

If you have PHP's OpenSSL extension enabled, Lightning can automatically create an asymmetric key pair for use with OAuth.

Project Roadmap

We publish sprint plans for each patch release. You can find a link to the current one in [this meta-issue][meta_releases] on Drupal.org.

Resources

Demonstration videos for each of our user stories can be found here.

Please use the Drupal.org issue queue for latest information and to request features or bug fixes.

Known Issues

Media

  • If you upload an image into an image field using the new image browser, you can set the image's alt text at upload time, but that text will not be replicated to the image field. This is due to a limitation of Entity Browser's API.
  • Some of the Lightning contributed media modules listed above might not yet be compatible with the Core Media entity.
  • Using the bulk upload feature in environments with a load balancer might result in some images not being saved.

Inherited profiles

Drush is not aware of the concept of inherited profiles and as a result, you will be unable to uninstall dependencies of any parent profile using Drush. You can still uninstall these dependencies via the UI at "/admin/modules/uninstall". We have provided patches here for Drush which allow you to uninstall dependencies of parent profiles.

Contributing

Issues are tracked on drupal.org. Contributions can be provided either as traditional patches or as pull requests on our GitHub clone.

Each Lightning component also has a drupal.org issue queue:

For more information on local development, see CONTRIBUTING.md.

How to uninstall Lightning

Lightning is an installation profile, so there's no "officially" sanctioned way to remove it. The procedure outlined here is one that you do at your own risk, and in the worst case scenario it has the potential to break your site, so proceed with caution! It highly recommended to first attempt this in a development environment before doing it in production.

That said:

  1. Change the current installation profile from Lightning to Standard, or another installation profile of your choice: drush config:set core.extension profile standard.
  2. Uninstall any Lightning modules you are not actively using.
  3. If needed, export your configuration to account for changes made by outgoing modules.
  4. You may be using modules that ship with Lightning -- ensure that all of them are explicitly listed as requirements in your project's composer.json file, in at least the same version you were already using. For example, if you are using Panelizer 4.2 or later, you should run composer require --no-update drupal/panelizer:^4.2. This is very important, because your site is likely to break if you remove Lightning before ensuring that all the modules you need are being required by Composer. If you need to continue using a particular Lightning module, you can require it just as you would any other Drupal module; for example, composer require --no-update drupal/lightning_api:^4.1. (Note that this "à la carte" style only works with Lightning 3 or later.)
  5. Remove acquia/lightning from your composer.json file: composer remove --no-update acquia/lightning.
  6. Explicitly require Drupal core in your composer.json file: composer require --no-update drupal/core:~8.7.0. You should specify the same minor version of core that you were using when Lightning was installed.
  7. Run composer update.
  8. You should now be all set. If you ever reinstall the site, you will need to specify the installation profile (probably Standard), either in the web installer, drush site:install PROFILENAME, or as a configuration parameter for BLT.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].