Skip to content

xtianus79/generator-aspnet

 
 

Repository files navigation

generator-aspnet-xtianus

Build Status npm npm Dependency Status

Yeoman generator for ASP.NET vNext projects with additional templates

This repo will remain a full working version from the upstream sync to omnisharp/generator-aspnet

Additional Templates:

  • Starter Web - Foundation 5

NPM

NPM

Getting Started

  • Dependencies:
    • node.js: brew install node for OSX, choco install node for Windows
    • Yeoman: npm install -g yo
  • Install: npm i -g generator-aspnet-xtianus
  • Run: yo aspnet-xtianus

Remember to always yo aspnet-xtianus for this fork

Usage

  • yo aspnet-xtianus shows a wizard for generating a new ASP.NET app

  • yo aspnet --grunt generates Gruntfile.js files for web template instead of gulp.js

  • yo aspnet-xtianus --help shows flags and other configurable options

Template projects

Full, template based projects available in generator:

  • Empty Application
  • Console Application
  • Web Application
  • Web Application Basic [without Membership and Authorization]
  • Starter Web Application - Foundation 5 Readme
  • Web API Application
  • Nancy ASP.NET Application
  • Class Library

Looking to build or add templates to this repo - feel free to help - contact below for more info

Starter Web - Foundation 5 Info

Yeoman generator for Zurb Foundation 5. & for Visual Studio ASP.Net Vnext Integration

Important notes:

  • F5 template places additonal files & folder structures in your project
  • Folder [app] & [dist] for static html mockup and protyping
  • Folder [includes] for _header.cshtml & _footer.cshtml - partials for _Layouts.cshtml
  • Files .jshintrc, .editorconfig & index.html included
  • Reworked gruntfile.js for a complete frontend development methodology

Default option here will be Sass with Libsass (for now). But you can choose Ruby version on startup.

From Foundation 5.5+: "Foundation is now compatible with Sass 3.4! Note: this removes Sass 3.2 compatability." Foundation 5 Changelog

Yo ASP.Net Foundation 5 Features!

  • Sass compiling
  • Font Awesome (option)
  • Jade templating engine (option)
  • Publishing to dist directory
  • Server with LiveReload (127.0.0.1:9000) for *.html
  • Server k web (Windows localhost:5001) or k kestrel (OSX, Linux localhost:5004) for *.cshtml
  • Bower install
  • JSHint

Grunt tasks:

run project (compile Jade, compile Sass, bower install, livereload (server on 127.0.0.1:9000), watch)

$ grunt

publishing project (into dist directory) (compile Jade, compile Sass, validate-js, copy, concatenation, minifications)

$ grunt publish

dist directory preview (server on 127.0.0.1:9001)

$ grunt server-dist

Other Grunt tasks (if you want to use it)

..for copying app files to wwwroot, fonts & includes folders

$ grunt copy-app-files

..for copying bower_components files to app/bower_components

$ grunt copy-app-files

..for injecting bower libraries (also in default grunt task)

$ grunt bower-install

..for compiling Sass files

$ grunt compile-sass

..for validating javascript

$ grunt validate-js

..for compiling Jade files

$ grunt compile-jade

Full instructions for SW Foundation 5 Template

Starter Web Foundation 5: Readme Starter Web Foundation 5 Getting Started: Wiki

The Empty Application, Web Application, Web API Application are based on the new templates recently introduced with Visual Studio CTP 6 release, and you can read about this new templates on blog post accompanying CTP 6 release:

ASP.NET 5 Updates and other improvements for Web Developers in Visual Studio 2015 CTP 6

The Empty Application, Web Application, Web Application Basic (a.k.a. Web Application No Auth), Web API Application are based on the new templates recently introduced with Visual Studio 2015 RC release, with updates for beta5. You can read about these new templates on the blog post accompanying the beta5 release: Updates to ASP.NET 5 yeoman generators for beta 5

The Nancy project is based on framework's "Hello World" template: Nancy Getting Started: Introduction

Related yeoman generators

The goal of generator-aspnet is to provide an experience consistent with creating new ASP.NET 5 (DNX) projects and files in Visual Studio 2015. Below are some other related generators that you may be interested in.

generator-csharp

generator-csharp is a work in progress but is available for you to try out today. The goal of generator-csharp is to provide an experience consistent with creating C# projects (MSBuild based, not DNX) and files in Visual Studio 2015.

generator-aspnet-xtianus

generator-aspnet-xtianus is an extension of OmniSharp/generator-aspnet that comes with a special Foundation 5 SASS/SCSS framework ready out of the box with wiredep & other grunt tasks for advanced front-end development. Look for => Starter Web Application - Foundation 5. The other goal of this generator is to provide alternative templates to the traditional ASP.NET Visual Studio templates. More templates will become housed under this fork in the near future. Feel free to participate and learn more about generator-aspnet-xtianus.

If you are working on a related generator please open an issue to let us know about it so that we can add it to the list.

Sub Generators

Available sub generators (to create files after the project has been created):

** Note: files generated are created in the working directory, no conventions are forced **

Return to top

MvcController

Creates a new ASP.NET 5 MvcController class

Example:

yo aspnet-xtianus:MvcController ContactController

Produces /ContactController.cs

using Microsoft.AspNet.Mvc;

// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace MyNamespace
{
    public class ContactController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            return View();
        }
    }
}

Return to top

MvcView

Creates a new ASP.NET 5 MvcView page file

Example:

yo aspnet-xtianus:MvcView ContactView

Produces /ContactView.cshtml

@*
    For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
    // ViewBag.Title = "ContactView Page";
}

Return to top

WebApiController

Creates a new ASP.NET 5 WebApiController class

Example:

yo aspnet-xtianus:WebApiController ValuesController

Produces /ValuesController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Mvc;

// For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace MyNamespace.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // GET: api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}

Return to top

AngularModule

Creates AngularJS module file

Example:

yo aspnet:AngularModule filename

Produces filename.js

Return to top

AngularController

Creates AngularJS controller file using $scope

Example:

yo aspnet:AngularController filename

Produces filename.js

Return to top

AngularControllerAs

Creates AngularJS controller file using Controller As syntax.

Example:

yo aspnet:AngularControllerAs filename

Produces filename.js

Return to top

AngularDirective

Creates AngularJS directive file.

Example:

yo aspnet:AngularDirective filename

Produces filename.js

Return to top

AngularFactory

Creates AngularJS factory file.

Example:

yo aspnet:AngularFactory filename

Produces filename.js

Return to top

Class

Creates a new ASP.NET 5 Class

Example:

yo aspnet-xtianus:Class Contact

Produces /Contact.cs

using System;

namespace MyNamespace
{
    public class Contact
    {

    }
}

Return to top

Interface

Creates a new ASP.NET 5 Interface

Example:

yo aspnet:Interface IContact

Produces /IContact.cs

Return to top

StartupClass

Creates a new Startup Class file

Example:

yo aspnet-xtianus:StartupClass

Produces Startup.cs

Return to top

BowerJson

Creates a new bower.json and configuration file.

Example:

yo aspnet-xtianus:BowerJson

Produces bower.json and .bowerrc

Return to top

CoffeeScript

Creates a new CoffeeScript file

Example:

yo aspnet-xtianus:CoffeeScript filename

Produces filename.coffee

Return to top

Config

Creates a new config.json file

Example:

yo aspnet-xtianus:Config

Produces config.json

Return to top

Gulpfile

Creates a new Gulp file

Example:

yo aspnet-xtianus:Gulpfile

Produces gulpfile.js

Return to top

Gruntfile

Creates a new Grunt file

Example:

yo aspnet:Gruntfile

Produces Gruntfile.js

Return to top

gitignore

Creates a new .gitignore file

Example:

yo aspnet:gitignore

Produces .gitignore

Return to top

HTMLPage

Creates a new HTML file

Example:

yo aspnet-xtianus:HTMLPage filename

Produces filename.html

Return to top

JavaScript

Creates a new JavaScript file

Example:

yo aspnet-xtianus:JavaScript filename

Produces filename.js

Return to top

JScript

Creates a new JavaScript file

Example:

yo aspnet-xtianus:JScript filename

Produces filename.js

Return to top

JSON

Creates a new JSON file

Example:

yo aspnet-xtianus:JSON filename

Produces filename.json

Return to top

JSONSchema

Creates a new JSON schema file

Example:

yo aspnet:JSONSchema filename

Produces filename.json

Return to top

JSX

Creates a new React JSX file

Example:

yo aspnet:JSX filename

Produces filename.jsx

Return to top

Middleware

Creates a new C# Middleware class file

Example:

yo aspnet:Middleware filename

Produces filename.cs

Return to top

PackageJson

Creates a new package.json file

Example:

yo aspnet-xtianus:PackageJson

Produces package.json

Return to top

StyleSheet

Creates a new CSS file

Example:

yo aspnet:StyleSheet style

Produces style.css

Return to top

StyleSheetLess

Creates a new Less class file

Example:

yo aspnet:StyleSheetLess filename

Produces filename.less

Return to top

StyleSheetSCSS

Creates a new Sass SCSS class file

Example:

yo aspnet:StyleSheetSCSS filename

Produces filename.scss

Return to top

TagHelper

Creates a new TagHelper class file

Example:

yo aspnet:TagHelper filename

Produces filename.cs

Return to top

TextFile

Creates a new Text file

Example:

yo aspnet-xtianus:TextFile filename

Produces filename.txt

Return to top

TypeScript

Creates a new TypeScript file

Example:

yo aspnet-xtianus:TypeScript filename

Produces filename.ts

Return to top

TypeScriptConfig

Creates a new TypeScript configuration file

Example:

yo aspnet:TypeScriptConfig

Produces tsconfig.json

Return to top

License

Copyright 2014-2015 OmniSharp

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contact

@xtianus | xtianus@live.com

Changelog

..see Coming soon CHANGELOG.md file

Return to top

About

Yeoman generator for ASP.NET 5 plus additional templates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 52.6%
  • JavaScript 20.6%
  • HTML 13.4%
  • CSS 12.9%
  • Shell 0.5%