Giter Club home page Giter Club logo

simple-odf's Introduction

simple-odf

simple-odf is a library for creating Open Document Format text files using Typescript/JavaScript and Node.js.

Version Continuous Integration codecov Dependencies Known Vulnerabilities semantic-release code style: prettier

Table of Contents

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See usage for notes on how to integrate the project in your software.

Prerequisites

To get started locally, follow these instructions:

  1. Make sure that you have Node 10.x or later installed. See instructions here.

  2. Make sure that you have yarn installed; see instructions here.

  3. simple-odf uses npm for running development scripts. If you haven't already done so, please install npm.

Installing

  1. Make a fork of this repo.

  2. Clone the forked repo to your local computer using git.

    Open terminal and type:

    git clone https://github.com/<your_username>/simple-odf
  3. Run npm install from the root of your clone of this project to install dependencies.

    # navigate into the cloned repo
    cd simple-odf
    # install the dependencies
    npm install

Building the Module

To make a local build run:

npm build
npm pack

This generates a number of javascript files in the dist/ directory and a simple-odf-<version-number>.tgz file in the project root.

To actually use the locally built lib, switch to another repository reproducing the specific issue you want to fix (or just generate a local repo). Then install the locally built package:

cd <path-to-your-other-repo>
npm install <path-to-the-simple-odf-repo>/*.tgz

Testing

There are two different kind of tests which can be run locally:

Unit Tests

Each class of project should be tested isolated which is done by the unit tests. To run them, just execute npm test.

Integration Tests

There are also some tests which verify that the resulting document is correct. These cannot be run yet.

When debugging a specific test, change describe() or it() to fdescribe() and fit() to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests.

Usage

If you want to use this package in your software, add it to your project dependencies via npm or yarn.

# npm
npm i simple-odf
# yarn
yarn add simple-odf

Now you can create your first document.

const simpleOdf = require('simple-odf');

const document = new simpleOdf.TextDocument();
const body = document.getBody();

body.addHeading('Welcome to simple-odf');
body.addParagraph('The quick, brown fox jumps over a lazy dog.');

document.saveFlat('/home/homer/Welcome.fodf');

See the examples for more details on how to use the library.

Built With

  • xmldom - Used to serialize the XML

Contributing

If you want to contribute to simple-odf, you are very welcome. Send issues and pull requests with your ideas.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Credits

This project exists thanks to all the contributors who participate in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

Learn more about the OASIS Open Document Format.

simple-odf's People

Contributors

connium avatar dependabot-preview[bot] avatar dependabot[bot] avatar semantic-release-bot avatar verheyenkoen avatar

Watchers

 avatar  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.