Month: December 2015

AngularJS Starter Templete With Bootstrap

If you have not tried yet to create angularjs website then definitely this article will help you to create angularjs website with bootstrap starter template. So let’s start.

In this example i am using bootstrap “Justified¬†nav” template.

thumbnail

These are the following AngularJs features what we will covered with creating this template

  1. MVC(Model view Controller) Architecture
  2. Calling JSON service with factory
  3. Dependency Injection
  4. AngularUI Bootstrap
  5. Routing
  6. Directives
  7. Image Gallery with AngularJS

At the end of the article you understand what is MVC Architecture and how it works in AngularJS? | AngularJS MVC
MVC: It’s a design pattern that breaks the application into three parts Model View Controller. Using a pattern is a reusable solution but in regular javascript we organize the code differently. Another way of looking at patterns are as a templates which can be used in quite a few different scenarios.

Model:

Model is belongs to data it can be dynamic data or static which means you can get it from a database like Mongodb and you can also get data from static JSON file.

Let’s create a static JSON to defining a model. Add following lines in a data.json file.

View:

View is displaying the data of model. For this we use double curly brackets and it is lot like using JavaScript template library (like mustache.js).

Let’s create a view, following this instruction in index.html:

  • First¬†declare¬†the¬†name¬†of¬†the¬†application¬†using¬†ng-app¬†directive.
  • Download¬†and¬†add¬†the¬†angular¬†library¬†in¬†your¬†page¬†version¬†–¬†v1.3.0-rc.5.
  • Defining¬†the¬†controller¬†name¬†using¬†ng-controller¬†directive¬†in¬†your¬†parent¬†element.

    Let’s combined the code:

In this HTML we have use ng directives to rendering the data in view.

ng-repeat: The ngRepeat directive instantiates a template once per item from a  collection. Each template instance gets its own scope, where the given  loop variable is set to the current collection item, and $index is set to  the item index or key.

ng-init: The ngInit directive allows you to evaluate an expression in the current  scope.

ng-click: The ngClick directive allows you to specify custom behavior when an   element is clicked.

ng-show: The ngShow directive shows or hides the given HTML element based on    the expression provided to the ngShow attribute.

Controller

It controls how data is retrieved and displayed to end-user. which means Controller gives you control over model and view.

Creating angular module name which we have defined in ng-app directive in HTML.

We can also defined the dependency as per the module using [] brackets. For our application we need ngRoute for routing to navigate the site. For this you have to download and include

AngularUI¬†Bootstrap¬†‚Äúui.bootstrap‚Ä̬†using¬†the¬†angular¬†bootstrap¬†component.,¬†you¬†can¬†download¬†the¬†library¬†from¬†this¬†link¬†https://angular-ui.github.io.¬†and¬†add¬†in¬†html¬†page.

Creating Factory in Angularjs

AngularJS provides you three ways to create a service : factory,service and provider. A factory is a simple function which allows you to add some logic before creating the object. It returns the created object.

Scope is the glue between application controller and the view. During the template linking phase the directives set up $watch expressions on the scope. The $watch allows the directives to be notified of property changes, which allows the directive to render the updated value to the DOM.

If you find AngularJS MVC Article helpful please share it and comment below.

You can get the full code from here: https://github.com/harmeet090/Angularjs

What’s new in Bootstrap 4 alpha

Bootstrap 4 comes with ton of major changes so it’s impossible to cover them all in detail here, so here are some of our most major changes:

  • Moved from Less to Sass:Using Libsass bootstrap now compiles Sass faster then ever, and also joined large community of Sass developers.
  • Improved grid system: Bootstrap now have added a new grid standard to better target mobile devices.
  • Flexbox support: The future of web is now change a boolean variable and recompile your CSS to take advantage of a flexbox-based grid system and components.
  • Customization is easy:In Bootstrap 4 Now It’s easy to customize the some CSS style options instead of creating new style of like box-shadows,text-shadows transitions, gradients, and more to a separate stylesheet like v3, bootstrap moved all these options into Sass variables. If we want default transitions on everything or to disable rounded corners? Simply we just need to update a variable in Sass and recompiled it.
  • Drop IE8 support and moved to rem and em units: Bootstrap 4 dropped support for IE8 and we can take advantage of the CSS3 without being held back with CSS hacks or fallbacks. Typography Pixels have been swapped for rems and ems where appropriate to make responsive and component sizing even easier. If you need IE8 support, keep using Bootstrap 3.
  • Rewrote all our JavaScript plugins: Every plugin has been rewritten in ES6 to take advantage of the newest JavaScript enhancements. They also now come with UMD support, generic teardown methods, option type checking, and tons more.
  • Tooltips and Popovers: Bootstrap 4 improved auto-placement of tooltips and popovers using library called Tether.

And many other things like Custom form controls, margin and padding classes, new utility classes, and more have also been included.

Know more about Bootstrap 4 head to the v4 alpha docs!

One more thing…

Bootstrap 4 alpha also launching our latest side project, Official Bootstrap Themes.

wkhtmltopdf – Generating PDF and Images

wkhtmltopdf is amazing¬† open source (LGPLv3) command line tool wkhtmltopdf to render HTML to¬†PDF and various image formats using the Qt WebKit rendering engine. These run entirely “headless” and do not require any¬†service.

There is also a C library, if you’re into that kind of thing.

How to use wkhtmltopdf ?

  1. Download a precompiled binary or build from source
  2. Create your HTML document that you want to convert into a PDF (or image)
  3. Run your HTML document through the tool.
    For example, if I really like the treatment LiferayUI has done to their logo today and want to capture it forever as a PDF:wkhtmltopdf https://liferayui.com liferayui.pdf

Additional options

That’s amazing, I’ve always wanted to turn LiferayUI¬†homepage into a PDF, but I want a table of contents as well.

There are lot’s¬†of command line options. You can check out the auto-generated wkhtmltopdf options.

You can also add custom Header and Footer in PDF using page option.