Giter VIP home page Giter VIP logo

the-modular-grid's Introduction

The Modular Grid — A Chrome Extension

(v1.0.0)

This extension provides a series of grid overlays in web pages so web authors can better implement design translations into web pages. Some key options include the ability to change column widths and colors, gutter widths, and baseline/leading distances. The grid’s options page shows more, and feature requests are encouraged via GitHub issues.

Beta Release Date

29 January 2017

Official Release Date

Late spring 2017

Installing this extension requires downloading a folder and “feeding” it to Chrome. I’ll discuss how to do this through the GitHub Desktop client and via a command line interface.

Note: Like most extensions, this extension is not designed to work on the extensions page found at chrome://extensions. Thus, do not confuse this with a bug.

(Burden: ~8 minutes)

  1. Launch GitHub Desktop.

  2. Load the repo into GitHub Desktop by clicking the appropriate link below for your operating system.

    Mac: github-mac://openRepo/https://github.com/code-warrior/the-modular-grid

    Windows: github-windows://openRepo/https://github.com/code-warrior/the-modular-grid

  3. Unless you choose a different name and/or location for the repo, click the blue Clone button.

  4. You should see something akin to the following:

  5. Open Chrome’s extensions page by typing chrome://extensions into the address bar:

  6. Open the folder into which you cloned the the-modular-grid repo from step 3, then locate the extension folder.

  7. Drag the extension folder over the Chrome Extensions window until a dialog box says Drop to install.

  8. The extension is now installed.

  9. Click the greyish, grid-like icon to the right of the address bar to toggle the grid on/off.

(Burden: ~4 minutes)

  1. Launch your CLI and navigate to a folder into which to download the extension.

  2. Clone the repository:

     git clone [email protected]:code-warrior/the-modular-grid
    
  3. Switch to the version 1.0.0., release candidate 1, branch, which should be the default:

     git checkout ver1.0.0-rc1
    
  4. Launch Chrome.

  5. Type chrome://extensions into the address bar.

  6. Locate the the-modular-grid folder that was created when you cloned this project in step 2.

  7. Double-click the-modular-grid and find the extension folder.

  8. Drag the extension folder over the Chrome Extensions window until a dialog box says Drop to install.

  9. The extension is now installed.

  10. Click the greyish, grid-like icon to the right of the address bar to toggle the grid on/off.

Once the project is stable, it will be released via the Chrome Web Store. In the meantime, you can pull updates periodically. In your CLI, simply git pull, and in the GitHub Desktop client, click the Sync icon in the upper right hand corner.

Command+Shift+E toggles the extension in Mac.

Alt+Shift+E toggles the extension in Windows 10.

Alt+Shift+E toggles the extension in Fedora Linux.

Ctrl+Shift toggles the sidebar info boxes in the upper right hand corner when the extension is enabled. This shortcut is universal across all operating systems.

All text input boxes in the options page can be updated with the and arrow keys, and all options are automatically saved when values are changed.

All development is now done via Gulp. This includes compiling CSS via Sass, compressing HTML and CSS, and linting JavaScript via ESLint.

Make sure to have Java installed, then proceed with the installation of Node and Gulp.

Lastly, run npm install to install the node_modules, then gulp serve. (Run gulp --tasks to see all the available development tasks.)

the-modular-grid's People

Contributors

bluejune8 avatar code-warrior avatar roy-vanegas avatar samantehrani avatar

Stargazers

 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

the-modular-grid's Issues

Implement the Informational Sidebar

In preparing for v2, I’ll implement a sidebar along the right side of the viewport that provides an interactive form to the user in which she/he can set preferences for the grid, such as column width and whether the grid should be fixed or fluid.

Height of Grid Varies

The height of the grid doesn’t take up the entire height of the page in some sites.

Image Comparator

The Grid should give the user the ability to load an image. The user should be able to choose where in the stacking context the image appears, and the default should be the smallest z-index in the stacking context.

The user should know always be informed of the first (most negative z-index) and last (highest z-index) stacking context values. Notify the user of the under “glass” problem when the comparison image is at least one value behind the highest stacking context value.

Lastly, the user should be given the ability to choose whether the page’s content or the comparison image dictates the height of the page.

Reduce Width of #modular-grid--container

Because the width of the ID #modular-grid--container is 100%, an overflow occurs in some pages, causing the appearance of a scroll bar at the bottom of the page. Reduce the width.

Update Chrome Icon Colors

The colors of the icons for the Chrome extension should be one color (likely pink) and should contain greenish-blueish leading lines.

Optimize Sass/CSS

Before implementing any new features, clean and optimize the existing Sass/CSS code base.

The index.html File In The Settings Layer is Invalid HTML5

A few small issues:

A <div> cannot be a child of a <label> and a <section> needs a heading. Change <section> to <div> and move <div class="slider round"></div> outside of the <label>. In fact, consider replacing <div class="slider round"></div> with <progress class="round"> and styling it with a slider by default.

PS The content to the <title> element should also be updated.

Show Which Grid Is On

As the user cycles through the grids, show which grid is on in the info popup box.

[Popup] Add a Link to Options

The popup that displays the basic info should have an options link so the user needn’t have to context-click the browser action icon.

[Options] Add Default Options

Each option should contain the ability to revert back to the initial/default value. Also, it should be possible to reset all the options back to their initial/default values with just one UI surface element.

Proposal For Extension's Data Architecture Model

I am going to put together a Data Architecture Model for the extension. Defining the entities, fields, characteristics and ... . Hopefully we can review it after and built a reasonable model upon it. Will write it in markdown format so that we can host it on the repository as a doc.

Implement Escape Key Cycling

In its current iteration, this project accepts the esc key to toggle the grid on/off. It would be useful to employ the esc key to perform the following in a Round-robin fashion:

1. Show the grid and the background image, along with the web page you’re developing.
2. Hide the grid, showing only the background-image and the web page you’re developing.
3. Hide the background image, revealing only your web page.
4. Go back to step 1.

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.