All Projects → Differential → Meteor Boilerplate

Differential / Meteor Boilerplate

Boilerplate meteor app - starting point for meteor apps

Projects that are alternatives of or similar to Meteor Boilerplate

Handlebars
Fullest Handlebars.js templating support for Atom and Sublime Text 2 / 3. Also drives syntax colouring on Github and in Visual Studio Code. Install from: https://atom.io/packages/Handlebars and https://packagecontrol.io/packages/Handlebars.
Stars: ✭ 292 (-67.3%)
Mutual labels:  handlebars
Binserve
A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. ⚡️🦀
Stars: ✭ 401 (-55.1%)
Mutual labels:  handlebars
Handlebars Rust
Rust templating with Handlebars
Stars: ✭ 632 (-29.23%)
Mutual labels:  handlebars
Publii
Publii is a desktop-based CMS for Windows, Mac and Linux that makes creating static websites fast and hassle-free, even for beginners.
Stars: ✭ 3,644 (+308.06%)
Mutual labels:  handlebars
Simply
Theme for Ghost inspired in Medium
Stars: ✭ 336 (-62.37%)
Mutual labels:  handlebars
Open Color
Color scheme for UI design.
Stars: ✭ 4,512 (+405.26%)
Mutual labels:  handlebars
vite-plugin-handlebars
Vite support for Handlebars
Stars: ✭ 51 (-94.29%)
Mutual labels:  handlebars
Mailmason
A complete toolset to streamline building and updating a set of consistent transactional emails.
Stars: ✭ 759 (-15.01%)
Mutual labels:  handlebars
Squirrelly
Semi-embedded JS template engine that supports helpers, filters, partials, and template inheritance. 4KB minzipped, written in TypeScript ⛺
Stars: ✭ 359 (-59.8%)
Mutual labels:  handlebars
Lightncandy
An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ),
Stars: ✭ 565 (-36.73%)
Mutual labels:  handlebars
Googlefonts Font Display Helper
A snippet generator to speed up Google Fonts rendering with font-display
Stars: ✭ 325 (-63.61%)
Mutual labels:  handlebars
Handlebars Layouts
Handlebars helpers which implement layout blocks similar to Jinja, Nunjucks (Swig), Pug (Jade), and Twig.
Stars: ✭ 336 (-62.37%)
Mutual labels:  handlebars
Mapache
You can use the theme Mapache for ghost in: Blog - Magazine - Landing page - Personal page - Photographers. and in many other things
Stars: ✭ 477 (-46.58%)
Mutual labels:  handlebars
Foml
Foundations of Machine Learning
Stars: ✭ 301 (-66.29%)
Mutual labels:  handlebars
Leafpub
Simple, beautiful, open source publishing.
Stars: ✭ 645 (-27.77%)
Mutual labels:  handlebars
Handlebars Intl
Handlebars helpers for internationalization.
Stars: ✭ 267 (-70.1%)
Mutual labels:  handlebars
Raymond
Handlebars for golang
Stars: ✭ 418 (-53.19%)
Mutual labels:  handlebars
Logging Helpers
Basic template helpers for printing messages out to the console. Useful for debugging context in templates. Should work with any template engine.
Stars: ✭ 5 (-99.44%)
Mutual labels:  handlebars
Handlebars.net
A real .NET Handlebars engine
Stars: ✭ 723 (-19.04%)
Mutual labels:  handlebars
Panini
A super simple flat file generator.
Stars: ✭ 562 (-37.07%)
Mutual labels:  handlebars

meteor-boilerplate

A starting point for MeteorJS applications. Includes iron-router, Bootstrap 3, Font Awesome, LESS and more.

Included Packages

Installation

  1. Clone this repo to <yourapp>

git clone https://github.com/Differential/meteor-boilerplate.git <yourapp>

  1. Remove .git

cd <yourapp> && rm -rf .git

  1. Start coding!

File Structure

We have a common file structure we use across all of our Meteor apps. Client-only files are stored in the client directory, server-only files are stored in the server directory, and shared files are stored in the both directory. The private and public directories are for either private or public assets.

Bootstrap and LESS

The majority of Bootstrap can be customized with LESS variables. If you look in client/stylesheets/base/lib/bootstrap/variables.import.less you will see a slew of configuration variables that can be tweaked to drastically change the look and feel of your site without having to write a single line of CSS.

However we should avoid modifying the core Bootstrap Less files (in case we want to update them later), and should instead override the variables in our own LESS files.

For example, to change the color of all primary buttons and links, simply add a @brand-primary variable to stylesheets/base/variables.import.less:

// variables.import.less
@brand-primary: #DC681D;

If you'd like to override a feature of Bootstrap that can't be modified using variables, simply create a new file in the client/stylesheets/components directory named after the corresponding Bootstrap component (eg. buttons in this case), and make your changes there.

// buttons.import.less
.btn {
  text-transform: uppercase;
}

After your file is ready, you need to import it into client/stylesheets/base/global.less. So, you would add in this statement:

@import '@{components}/buttons.import.less';

The reason that this is done is to avoid any issues when the LESS files are compiled into CSS. That way, if one component relies on another or you want a certain order for your components, you can avoid any issues.

SEO

Page titles, meta descriptions and Facebook and Twitter meta tags are handled by the yasinuslu:blaze-meta package. Global settings are configured in both/router/meta.js, while individual page settings are set at the controller level.

  • Note: the spiderable package will need to be installed and configured on your server in order for bots to read your meta tags.
PostsShowController = AppController.extend({
  path: '/posts/:_id',
  waitOn: function() {
    return this.subscribe('post', params._id);
  },
  data: function() {
    return {
      post: Post.find({_id: params._id})
    };
  },
  onAfterAction: function() {
    if(this.ready()) {
      Meta.setTitle(this.data().post.title);
    }
  }
});

Favicons and Touch Icons

Upload your image to http://realfavicongenerator.net/ and place the resulting images in public/images/favicons

Seed Data

You can use the dburles:factory and anti:fake packages to generate fake collection data for testing your UI. See server/seeds.js for an example:

Meteor.startup(function() {

  Factory.define('item', Items, {
    name: function() { return Fake.sentence(); },
    rating: function() { return _.random(1, 5); }
  });

  if (Items.find({}).count() === 0) {

    _(10).times(function(n) {
      Factory.create('item');
    });

  }

});

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].