Giter Site home page Giter Site logo

larry801 / addonwizzard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvdaaddons/addonwizzard

0.0 1.0 0.0 3.1 MB

easily and quickly generate the things you need to get going on your next addon.

License: Other

Python 94.75% Smarty 1.79% CSS 3.46%

addonwizzard's Introduction

NVDA Add-on Scons Template wizard

This package contains a command line wizard to create a basic template structure for NVDA add-on development, building, distribution and localization. For details about NVDA add-on development please see the NVDA Developer Guide. The NVDA addon development/discussion list is here. Unless you wish to work on this template, I.E. update things, there is no need to clone this repository to simply create the basic structure of your addon.

Copyright (C) 2012-2016 nvda addon team contributors.

This package is distributed under the terms of the GNU General Public License, version 2 or later. Please see the file COPYING.txt for further details.

Features

This template provides the following features you can use to help with NVDA add-on development:

  • Automatic add-on package creation, with naming and version loaded from a centralized build variables file (buildVars.py).
  • Manifest file creation using a template (manifest.ini.tpl). Build variables are replaced on this template.
  • Compilation of gettext mo files before distribution, when needed.
  • To generate a gettext pot file, please run scons pot. A addon-name.pot file will be created with all gettext messages for your add-on. You need to check the buildVars.i18nSources variable to comply with your requirements.
  • Automatic generation of manifest localization files directly from gettext po files. Please make sure buildVars.py is included in i18nFiles.
  • Automatic generation of HTML documents from markdown (.md) files, to manage documentation in different languages.
  • Automatic basic integration with AppVeyor, with automatic deployment to github releases when you push a tag.
  • Generation of the basic template your addon will need, including the skeliton boilerplate code NVDA interfaces with.

(See the readme in your addon after you run the wizard for more information).

Requirements

  • a Python distribution (2.7 or greater is recommended). Check the Python Website for Windows Installers.
  • Scons - Website - version 2.1.0 or greater. Install it using easy_install or grab an windows installer from the website.

All software required is automagically installed when you install the add-on template from pip. In case you can't get it from pip, you need to do this manually.

Things that are currently included as experimental. Note that the executables for these might be removed in a future version, requiring you to manually obtain them.

  • GNU Gettext tools, if you want to have localization support for your add-on - Recommended. Any Linux distro or cygwin have those installed. You can find windows builds here. Note that this template automatically places these inside your addon when you walk through the setup wizard. -->

Usage

To create a new NVDA add-on, taking advantage of this template:

  • open a command prompt, or python capable shell (Unix shells should work as well).
  • type pip install NVDA-addonTemplate
  • Once installed, cd to the directory you want your add-on in.
  • Then, simply type NVDAAddonTemplate
  • when prompted, answer the following questions by typing on the command line. The system will except no input as the default, and may yell at you if you answer some prompts invalidly.
    • authorName (Defaults to John Doe): Put the name of the authors, separated by commas here.
    • authorEmail (Defaults to [email protected]): Place the authors emails here, separated by commas.
    • projectName (Defaults to "Simple Addon"): Place the project's name here, (Usually you'll put what you want the addon to be called, but if it's an addon with many components, this might be different.
    • addonName (Defaults to "simpleAddon"): The name (Internal identifyer) that NVDA uses to recognize this addon. This should be a valid python module name.
    • addonSummary (Defaults to "Simple Addon"): This is the summary, or what your users will get to know for your addon. Something like "Indentone, musical indents" or "Tip of the Day" are good names.
    • addonDescription (Defaults to "This is my first add-on. It currently does nothing."): This is the description your add-on shows when you press about. If you want a multiline description, go to buildVars.py and do that there.
    • version (Defaults to "0.1.0-dev"): This is the version string you want your add-on to take on. Update this in buildVars.py whenever you release a new version.
    • addonURL (Defaults to None): Leave this as default if your add-on has no url, or put a url here to tell NVDA the url for this addon.
    • createGlobalPlugin (Yes/no) (Defaults to yes): Enter y or yes if you want the template to generate a globalPlugin, or n if not.
    • createAppModule (Yes/no) (Defaults to yes): Enter y if you want the template to generate an appModule, or Type n otherwise.
    • useContinuousIntegrationWithTravisCI (Yes/no) (Defaults to no): Enter y if you want the template to generate the necessary tools to use with travis CI, (A continuous integration system for windows) , or leave this as n if not.
    • If you said "y" to creating an app Module, you will be asked for the executable name. Enter the executable name for your appModule with no .exe. The add-on will be placed in your current directory with underscore characters replacing space characters in the directory name.

Todo

Generate an installTasks template. Priority is lower since most projects don't need this. Generate a template for speech Synthesiser and braille display drivers. Priority is way lower because the average joe won't be writing one of these.

addonwizzard's People

Contributors

larry801 avatar

Watchers

 avatar

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.