GithubHelp home page GithubHelp logo

ssinger99 / crankshaft Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thewebtech/crankshaft

0.0 0.0 0.0 1.5 MB

A framework for building modern websites on the HubSpot Platform.

Home Page: https://thewebtech.github.io/CrankShaft

License: MIT License

JavaScript 9.68% CSS 87.28% HTML 3.03%

crankshaft's Introduction

CrankShaft - An Open Source HubSpot Development Framework

CrankShaft is a framework for HubSpot CMS development that takes full advantage of HubSpot's capabilities to make development faster, enabling more performant, and higher quality websites.

We are building the Crankshaft to the whole HubSpot Flywheel - hence the name.

This framework will be the foundation used for building:

  • Custom Templates
  • Custom Modules
  • Themes (think bootstrap themes)

CrankShaft is being built to have it's own disablable grid which is fully backward compatible with the HubSpot grid classes. The CrankShaft Grid is being based on Bootstrap 4.

CrankShaft will come with minimally styled elements, that can be re-used, themed, used in modules, used in templates. Elements that very well may make their way into CrankShaft:

  • Accordions
  • Buttons
  • blockquotes
  • base styling for HubSpot forms.
  • modals
  • tables
  • Tooltips
  • Popovers
  • toasts
  • much much more

CrankShaft is being designed to be modular, you can choose to use only the parts you want, without worrying about extra bloat in your files. Don't want the grid? don't want the modals? not a problem toggle them off by setting a variable. Both the JS and CSS will be disabled, and not included in your output code.

Because this framework will help establish and encourage HubSpot development best practices we expect to see Template packs and Custom Modules on the HubSpot marketplace that follow these practices meaning any template built with CrankShaft should work with any module built for CrankShaft. No more modules that rely on specific templates. No more templates that get all screwed up when you add a marketplace module to them.

If you're still confused as to what this is, our goal is to be similar to Foundation by Zurb, Bootstrap, or probably more similar is Shopify's Timber Framework. Our goal is to create a great framework for building HubSpot sites and custom modules.

We're in the early stages. Fair warning to anyone looking to use this framework - we will make strides to always make the master branch be stable, but understand we are very much in the early phase of planning and building, I would not consider this framework Production site ready just yet. Contribute how you can/want to. Feel free to create issues and we'll talk some things through. Feel free to add code.

This framework is loosely based upon the HubSpot COS Boilerplate to ensure HubSpot compatibility and because it was a good starting point. Just because it's in the boilerplate doesn't mean anything from it needs to stay. We also don't need to keep the same file structure at all. This might look completely different than the old boilerplate when we're further along, and that's perfectly okay. The idea is to fully create a modern framework for building on HubSpot.

Current Browser Support Goal: IE 11, Google Chrome, Firefox, Safari, Edge current versions. All other browsers are a plus.

(If you feel this should be changed complain about it in Issues and we'll strike up a friendly discussion)

If you'd like to contribute to this Repo, fork it, make your changes, and submit a pull request. If you tend to make frequent updates we'll add you as a contributor which lets you make branches on the official repo. We will be a little bit choosy with this because we want to protect the code and prevent a too many cooks in the kitchen stepping on toes situation. Using forks prevents that problem.

Interested in contributing?

See our page for that.

Want to help but don't know how to code?

Upvote relevant ideas to be implemented by HS

General ideas of what CrankShaft should have (based on discussions in slack and issues)

  • Responsive backward compatible grid. We will base this on Bootstrap 4's grid.
  • Utility classes
  • Variable Breakpoints
  • helpers for making different types of UI elements like buttons.
  • many features will be enabled and disabled using hubl vars.

Thoughts to get your flywheel turning.

HubSpots CSS Supports HubL

That means:

  • We can use variables
  • We can use Macros like SASS extends
  • We can conditionally load chunks of CSS
  • We can separate code into more modular chunks - enabling say the grid to be separated from other parts of the framework, allowing developers to call the grid css file in their modules. If it makes sense to do so. HubSpot Combines and minifies files making this possible.
  • We can create Utility classes that are specific to HubSpot.

Every HubSpot site loads jQuery, for better or for worse

  • You know it's going to be there, so go ahead and use it.

HubSpot Resources:

Contributors

  • "CrankShaft" Name by Mark Ryba
  • Grid methodology discussed by AJ Laporte, Mark Ryba, Jon McLaren, Jenna Schultz.
  • Logo design by Jon Eichler, additional logo concepts submitted by Andreas Wessoly and Tony Strack.
    • Logo voted on by Jon Eichler, Ryan Noon, Chad Pierce, John Fuller, Luke Summerfield, Dennis Edison, Umakant Sharma, Gonzalo Torreras, Erik Hooijer, John Fuller, Chandresh Singh, Toni Bergholm, AJ Laporte, Zack Wolfson, Scott Brown, Tony Strack, Gary Wong, Michelle Villalobos.(listed in no particular order)
  • Community coordination/organization led by Jon McLaren

Want to get involved? post issues, submit pull requests, and join the discussion in the Slack Channel.

New to Git/GitHub or Open Source?

No Problem, here are some resources!

Legacy COS Boilerplate Contributors:

crankshaft's People

Contributors

danaholdt avatar jennaschultz avatar joneichler avatar jwolfjim avatar stefenphelps avatar thewebtech avatar viktorbrech avatar wmm-inbound 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.