Git Product home page Git Product logo

generator-office's Introduction

Microsoft Office Add-in Project Generator - YO OFFICE!

npm version Downloads TravisCI Build Status

Yeoman generator for creating Microsoft Office Add-in projects using any text editor. Microsoft includes fantastic & rich development tools for creating Office related projects using Visual Studio 2013 or tools for Visual Studio 2015. This generator is for those developers who:

  • use an editor other than Visual Studio (we love Visual Studio Code)
  • are interested in using a technology other than plain HTML, CSS & JavaScript

If you are building an Angular or React add-in and would like to learn more about using Yo Office specifically for those frameworks, see Build an Add-in with React or Build an Add-in with Angular.

Like other Yeoman generators, this simply creates the scaffolding of files for your Office Add-in project. It allows you to create add-ins for:

  • Excel
  • OneNote
  • Outlook
  • PowerPoint
  • Project
  • Word
  • Excel Custom Functions (Preview: Requires the Insider channel for Excel)

Choose to create Office Add-in projects using plain HTML, CSS & JavaScript (mirroring the same projects that Visual Studio creates) or create Angular-based projects.

YO Office Demo

Install

Important: If this is the first time you're using Yeoman or installing a Yeoman generator, first install Git and Node.js. For developers on Mac, we recommend using Node Version Manager to install Node.js with the right permissions. When the installation completes, restart your console (or if you are using Windows, restart your machine) to ensure you use the updated system environment variables.

Install yo (Yeoman) and generator-office globally using NPM.

$ npm install -g yo generator-office

Usage

$ yo office [arguments] [options]

Command Line Arguments

The following command line arguments are supported. If using the command line arguments, you must use them in the order cited below, or the generator will prompt you for the values.

projectType

Framework to use for the project. The supported project types include JQuery (jquery), Angular (angular), React (react) and Excel Custom Functions (excel-functions). You can also use Manifest Only (manifest) which will create only the manifest.xml for an Office Add-in.

  • Type: String
  • Optional

name

Title of the project - this is the display name that is written the manifest.xml file.

  • Type: String
  • Optional

Note: The Windows command prompt requires this argument to be in quotes (e.g. "My Office Add-in")

host

The Microsoft Office client application that can host the add-in. The supported arguments include Excel (excel), OneNote (onenote), Outlook (outlook), PowerPoint (powerpoint), Project (project), and Word (word).

  • Type: String
  • Optional

Command Line Options

The following command line options are supported. If these are not specified, the generator will prompt you for the values before scaffolding the project. The options should be specified after the projectType, name and host arguments.

Specifying --output tells the generator to create the project in a specific location. If the output parameter is not specified, the project will be created in the current directory. If the output option specifies a non-empty folder, the generator will inform you so you don't accidentally overwrite existing files.

  • Type: String
  • Optional

Specifying --js tells the generator to use JavaScript.

  • Type: Boolean
  • Default: False
  • Optional

Specifying --ts tells the generator to use TypeScript.

  • Type: Boolean

  • Default: False

  • Optional

    Specifying --details tells the generator to provide detailed help, including all the accepted values for each project type and host,

  • Type: Boolean

  • Default: False

  • Optional

--skip-install

After scaffolding the project, the generator (and all sub generators) run all package management install commands such as npm install & typings install. Specifying --skip-install tells the generator to skip this step.

  • Type: Boolean
  • Default: False
  • Optional

Note: Do not use this flag when you pass react as framework argument.

Running the Generated Site

Office Add-ins must be hosted in an HTTPS site. Yo Office generates a self-signed certificate for use with the development environment. Your computer will need to trust the certificate before you can use the generated add-in.

Important: Follow the instructions in Adding Self-Signed Certificates as Trusted Root Certificate before you start your web application.

Launch the local HTTPS site on https://localhost:3000 by simply typing the following command in your console:

$ npm start

Browse to the 'External' IP address listed in your console to test your web app across multiple browsers and devices that are connected on your local network.

Validate manifest.xml

As you modify your manifest.xml file, use the included Office Toolbox to ensure that your XML file is correct and complete. It will also give you information on against what platforms to test your add-ins before submitting to the store.

To run Office Add-in Validator, use the following command in your project directory:

$ npm run validate

For more information on manifest validation, refer to our add-in manifests documentation.

Contributing

If you are interested in contributing, please start by reading the Contributing Guidelines.

Development

Prerequisites

Ensure you have Node.js installed.

Install Yeoman.

$ npm install -g yo

Initialize the repo

$ git clone https://github.com/OfficeDev/generator-office.git
$ cd generator-office
$ npm install

Make your desired changes

Build and link your changes

$ npm run build
$ npm link
$ cd ..
$ yo office

At this point, yo office will be running with your custom built office-generator changes.


Copyright (c) 2017 Microsoft Corporation. All rights reserved.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

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.