1.2.4 • Published 7 years ago

grunt-cloudfile-to-vocab v1.2.4

Weekly downloads
521
License
-
Repository
github
Last release
7 years ago

NPM Build Status

cloudfile_to_vocab

Processes any spreadsheet in the cloud into a set of vocab json files.

Setup

  • Add grunt-cloudfile-to-vocab as a dependency in your project's package.json
  • In your Gruntfile.js, inside your grunt.initConfig(), add the following:
    cloudfile_to_vocab: {
        default: {
            options: {
                output_directory:      'source/vocabs',
                google_spreadsheet_id: '--google spreadsheet id--',
                worksheets:            ['Sheet1'],
                whitelisted_services:  ['english', 'mundo'],
                serviceEmail:          '--google service email--',
                certLocation:          '--full path to your service email certificate--'
            }
        }
    }

Register a task, e.g.

grunt.registerTask('make_vocabs',  ['cloudfile_to_vocab']);

Creating a service account email and certificate

  1. Go to https://console.developers.google.com
  2. Create a project
  3. In the project, go to 'APIs & Auth' -> 'Credentials' and 'Create New Client ID'
  4. Select 'Service Account' as the type and p12 as your container
  5. Convert the downloaded p12 to PEM with 'openssl pkcs12 -in the pem file -out google-oauth.pem -nocerts -nodes
  6. Copy your service email address into the config and change certLocation to the location of your generated certificate (.pem)

Usage

Create a Google spreadsheet and start populating it with content (see examples below).

Run your task to automatically generate vocab JSON files from a Google spreadsheet.

Running tests

To run the tests add a google account user name and password into the grunt config file.

Example input/output

Input

NB: The 'ignore' in the left column ensures that that row is not included in the rendered output.

               | english               | persian
ignore         | Instructions go here. | ...
project_header | Hello, World!         | سلام جهان!
project_intro  | This is my intro...   | این مقدمه من است ...

Output

english.json

{
    "project_header": "Hello, World!",
    "project_intro": "This is my intro..."
}

persian.json

{
    "project_header": "سلام جهان!",
    "project_intro": "این مقدمه من است ..."
}

You can now populate your project with these variables, thereby being able to deliver your project in a language-agnostic way, paving the way for delivering to multiple nationalities.

Known issues

Make sure you are not on a proxy network or it cannot connect to Google.

1.2.4

7 years ago

1.2.3

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.2

7 years ago

1.0.4

9 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

11 years ago

1.0.0

11 years ago

0.1.8

11 years ago

0.1.7

11 years ago

0.1.5

11 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago