Giter Site home page Giter Site logo

trendyminds / visor Goto Github PK

View Code? Open in Web Editor NEW
24.0 10.0 3.0 2.41 MB

๐Ÿ•ถ A simple admin overlay to get to the relevant areas of the Craft CMS control panel.

Home Page: https://plugins.craftcms.com/visor

License: MIT License

JavaScript 9.27% CSS 19.39% PHP 34.15% HTML 37.20%
craftcms craftcms-plugin craft3 craft

visor's Introduction

Visor logo Visor

Screenshot

What is Visor?

Visor is a simple admin overlay to get to the relevant areas of the Craft CMS control panel from the front-end of your site.

Demo

Visor Demo

Screengrab

Visor screengrab

Requirements

This plugin requires Craft CMS 3.1.20 or later.

Installation

To install the plugin, follow these instructions.

  1. Open your terminal and go to your Craft project:

     cd /path/to/project
    
  2. Then tell Composer to load the plugin:

     composer require trendyminds/visor
    
  3. In the Control Panel, go to Settings โ†’ Plugins and click the โ€œInstallโ€ button for Visor.

Keyboard Shortcuts

You can activate Visor by clicking the gear icon or using the following keyboard shortcuts:

Key Description
` Toggles Visor open or close
ESC Closes Visor (if open)

Customizing Visor

Overriding styles

Visor has a class of Visor--override on the outer <section> element. To change any of the default styles, simply start your styles with .Visor.Visor--override. This will make your styles more specific without resorting to !important madness.

Overriding icons

Visor also uses inline SVGs for all graphics. This:

  • Reduces HTTP requests
  • Looks crisp at any pixel density
  • Allows you to re-style the icons using fill in your CSS

Overriding background

If you'd prefer to replace purple with a different color you can change this by targeting .Visor--override .Visor__modal.

Caveats

Since 3.0 Visor offers support for full-page static caching. In order to offer this a network request is made on every page request to check if the user should see the Visor controls. To ensure this does not impact performance numerous things are done:

  1. The JavaScript to make this check is inserted at the bottom of the page
  2. The JavaScript used to make the check is very small (< 2 KB)
  3. Early returns are used if the user is a guest and should not see anything from Visor

The checks to ensure we return early for guests is documented entirely in DefaultController.php. If you see opportunities to improve the performance of these checks (or any other part of Visor) pull requests are welcomed.

Browser compatibility

This has been tested on Chrome, Firefox and Safari, but drop in an Issue if you notice any strangeness.

Contributing

We welcome anyone and everyone who would like to improve Visor to fork it and send in pull requests. To start developing Visor:

  1. Ensure you have Node version 10.x running on your machine
  2. Clone the repo to your computer
  3. Run npm i
  4. Run npm start to compile the CSS and JS into the main src/resources/ directory

Visor Changelog

View the changelog

visor's People

Contributors

aaronbushnell avatar simoneast avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.