From f7aed7be6a6a3ff3aae2c7a9e64163d74d1bb529 Mon Sep 17 00:00:00 2001 From: iJungleboy Date: Tue, 13 Sep 2016 15:51:28 +0200 Subject: [PATCH] Updated readme --- README.md | 10 ++++- authors/Daniel_Mettler - Copy.html | 72 ------------------------------ authors/Daniel_Mettler.html | 42 ----------------- 3 files changed, 8 insertions(+), 116 deletions(-) delete mode 100644 authors/Daniel_Mettler - Copy.html delete mode 100644 authors/Daniel_Mettler.html diff --git a/README.md b/README.md index 86596b8..1a14f1b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ -# app-blog -The popular 2sxc Blog App +# The popular 2sxc Blog App + +![2sxc blog logo](app-icon.png) + + +* Check out a [live demo](http://2sxc.org/en/blog) +* Read more about it in this [release-post](http://2sxc.org/en/blog/post/may-the-4th-be-with-you-again-presenting-the-dnn-blog-app) +* download the 2sxc app for installation in the [app-catalog](http://2sxc.org/en/apps/app/dnn-blog-app-for-dnn-dotnetnuke) \ No newline at end of file diff --git a/authors/Daniel_Mettler - Copy.html b/authors/Daniel_Mettler - Copy.html deleted file mode 100644 index 8d63f89..0000000 --- a/authors/Daniel_Mettler - Copy.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - Daniel Mettler - - - -
- -
-
- -
this is a repost from the 2sxc blog
-
-
-

So you're curious about Grunt, npm, nodeJS and more, but probably don't see what the big deal is about? I'll teach you more of that in the following posts, this post should just help you keep understand what each part of the puzzle does. 

-

The Platform: nodeJS and the Google-Chrome JavaScript Engine

-

So nodeJS is your engine - a bit like your .net framework when you're working with C#. So you could use it to create a web-server, a command-line application or a bunch of other stuff. It's basically a wrapper for the very fast JavaScript engine used in Google-Chrome called V8. Since it uses JavaScript as the main development language it's very cross-platform. You don't need to know much about nodeJS when using applications built with nodeJS (like when using Grunt) - so for now, this is all you need to know. 

-

The Installer: npm the Node Package Manager

-

To download and use published software written for nodeJS we will use npm. So basically anybody publishing open-source software written with nodeJS will prepare some configuration files (the package.json) to help npm figure out how to install it. Again you don't need to know how it works, but it works like magic. If you want to dig deeper I recommend this beginners guide to npm, but everything you need to know I'll write about. 

-

So what do you need to know? Some key facts to understand:

-
    -
  1. npm will download packages of JavaScript applications and install it either in a global folder (located in your user profile) OR in a folder which you are currently in. In some cases - like when installing global tools like Grunt - you'll want the global repository. In most cases - like when installing a linting tool you need to clean up some of your JavaScript code - you'll usually only want to install that version in the project you're currently working in.
  2. -
  3. When npm installs something "into the current folder" it's actually downloading the code and deploying it in a subfolder called node_modules
  4. -
  5. you can download / install these packages from the command line and specify each package you want manually...
  6. -
  7. ...but usually you will have this fully automated. So your application (let's say a gallery-app written for DNN/2sxc) will have a file called package.json which lists all packages it expects. npm will then get all these packages together, automatically. 
  8. -
  9. the nodeJS app you just installed - let's say a TypeScript compiler which generates JavaScript from TypeScript - will also rely on other dependencies. npm will look these up and download them automatically, and store them in a sub folder of the grunt-ts folder. In this example, you could run "npm install grunt-ts" from your command line and see that grunt-ts needs at least 9 other projects. 
  10. -
-

So npm doesn't do anything - but it downloads everything you need so that you can actually do something. 

-

The automation engine: Grunt - the JavaScript Task runner

-

When you're developing modern web applications there are many things you would like to do with your code. You might want to use LESS to write better CSS or TypeScript for developing better JavaScript. You might also want to run some quality-checks and then compress your JavaScript so it's more compact before delivering it to your browser. All these things are easy to do with nodeJS - but it would be very cumbersome to run each task from your command line. 

-

Grunt takes care of this for you. It will run all these scripts for you, fully automated. It will need to know what you want it to do - and for that it will look at your package.json and your gruntfile.json. But these are very easy to set up. 

-

The automation plugins: Grunt-XXX packages / wrappers

-

One more detail in the puzzle: many developers create awesome nodeJS tools (like JSHint, to analyze your JS code and help you improve it). But these don't automatically work with grunt because they just solve a specific problem but don't support the Grunt-interface by default. So somebody else will write a grunt compatible wrapper and deploy this as a npm-package, usually named with grunt- in front, like grunt-jshint or grunt-contrib-jshint

-

The automation configuration: gruntfile.json and package.json

-

And finally the configuration. Each application / plugin (like JSHint) is usually highly configurable. When using grunt you will usually place this configuration for each automation inside the gruntfile.json file. Since each feature has it's own options you'll have to research the possibilities on each plugin. Fortunately all the popular plugins have extensive documentation. You can also refer to other config-files where you need to - so it's common practice to also tell grunt to get certain aspects (like the copyright information) out of the package.json file. 

-

A quick word about alternatives

-

When you start with such new technologies to solve problems you never really thought about, you may wonder if you're using the right tools. The answer is that as of today (August 2015) these are the most popular tools for this kind of work. They are very, very popular - but there are alternatives. If you really want the full picture, you may also want to research:

-
    -
  1. Gulp - an alternative to Grunt with a different ideology
  2. -
  3. Bower - this is also a package manager - but it does not compete with npm; in's meant to manage packages of client-js files (not dev-js-files)
  4. -
  5. io.js - a fork of nodeJs - but it looks like the projects will be merged again
  6. -
-

We (2sic) strongly recommend to stick to the most popular solution on the market - because even if it ends up being replaced by something else (maybe Gulp is better, maybe not) there will be so many people making the transition, that there will be help when it becomes relevant. 

-
-
-
-
-
-

Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in -Switzerland and Liechtenstein, an 20-head web specialist with over 800 -DNN projects since 1999. He is also chief architect of 2sxc (see forge), an open source module for creating attractive content and DNN Apps.



- Read more posts by Daniel Mettler -
-
-
-
-
-
-
-
-
-
- -
-

To get started it helps to understand what these parts are for and what each one does. This short introduction will help you figure it out. 

- - - - \ No newline at end of file diff --git a/authors/Daniel_Mettler.html b/authors/Daniel_Mettler.html deleted file mode 100644 index fd028ea..0000000 --- a/authors/Daniel_Mettler.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - Daniel Mettler - - - - - - - - \ No newline at end of file