{"id":21638393,"url":"https://github.com/julie-ng/antwort-cli","last_synced_at":"2025-10-20T03:42:31.127Z","repository":{"id":19699085,"uuid":"22953952","full_name":"julie-ng/antwort-cli","owner":"julie-ng","description":"CLI for Automated Email Development, incl. template generation and inlining CSS","archived":false,"fork":false,"pushed_at":"2017-12-30T19:38:24.000Z","size":364,"stargazers_count":11,"open_issues_count":4,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T07:19:18.440Z","etag":null,"topics":["cli","dev-server","email-template","inline-css"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julie-ng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-14T13:00:46.000Z","updated_at":"2023-08-24T03:05:42.000Z","dependencies_parsed_at":"2022-08-05T05:00:27.147Z","dependency_job_id":null,"html_url":"https://github.com/julie-ng/antwort-cli","commit_stats":null,"previous_names":["jng5/antwort-cli"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Fantwort-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Fantwort-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Fantwort-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julie-ng%2Fantwort-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julie-ng","download_url":"https://codeload.github.com/julie-ng/antwort-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248442380,"owners_count":21104171,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dev-server","email-template","inline-css"],"created_at":"2024-11-25T04:09:24.640Z","updated_at":"2025-10-20T03:42:26.093Z","avatar_url":"https://github.com/julie-ng.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Antwort E-Mail Generator\n\n[![Build Status](https://travis-ci.org/julie-ng/antwort-cli.svg?branch=master)](https://travis-ci.org/julie-ng/antwort-cli) [![Gem Version](https://badge.fury.io/rb/antwort.svg)](https://badge.fury.io/rb/antwort)\n\nAuthor: Julie Ng  \nVersion 1.0.1 (2 July 2017)\n\n### Speed up your email design and development workflow:\n\n- design in code with **live preview** of markup using Antwort's local development server\n- **build html** and **inline css** from multiple templates\n- **upload images** to content server (S3 only)\n- **send email** test via SMTP\n- includes **useful helpers**, e.g. `image_tag` that automatically includes email specific markup.\n\nSee [CHANGELOG.md](https://github.com/julie-ng/antwort-cli/blob/master/CHANGELOG.md) for full functionality list.\n\n## Documentation\n\nView the API documentation in the wiki:\n[https://github.com/julie-ng/antwort-cli/wiki](https://github.com/julie-ng/antwort-cli/wiki)\n\n## Setup\n\n### Requirements\n\n- [Bundler](http://bundler.io/)\n- Ruby 2.0+\n- AWS S3 Account, for email upload (optional)\n- SMTP credentials, for sending test emails (optional)\n\n### Environment \n\nIn the project root, create a `.env` file with the following attributes\n\n\n    ASSET_SERVER:           https://example.s3.amazonaws.com\n    AWS_ACCESS_KEY_ID:      {{aws_access_key_id}}\n    AWS_SECRET_ACCESS_KEY:  {{aws_secret_access_key}}  \n    AWS_BUCKET:             example\n    FOG_REGION:             eu-west-1\n                            \n    SMTP_SERVER:            smtp.mandrillapp.com\n    SMTP_PORT:              587\n    SMTP_USERNAME:          {{username}}\n    SMTP_PASSWORD:          {{password}}\n    SMTP_DOMAIN:            {{domain}}\n    SEND_TO:                {{default_recipient}}\n    SEND_FROM:              {{default_sender}}\n\nSee `.env.sample` for an example.\n\n## Use\n\n### Structure\n\n    .\n    +-- .env\n    +-- build\n    +-- assets\n    |   +-- css\n    |   +-- images\n    +-- emails\n    +-- views\n    +-- tmp\n\n\nTo create a new email template, for example `newsletter`, simply run: `bundle exec antwort new newsletter` and all the proper files will be created for you.\n\n\n\n## Commands\n\n\n```\nCommands:\n  antwort build EMAIL_ID               # Builds email markup and inlines CSS from source\n  antwort help [COMMAND]               # Describe available commands or one specific command\n  antwort init PROJECT_NAME            # Initializes a new Antwort Email project\n  antwort list                         # Lists all emails in the ./emails directory by id\n  antwort new EMAIL_ID                 # Creates a new email template\n  antwort prune                        # Removes all files in the ./build directory\n  antwort send EMAIL_ID                # Sends built email via SMTP\n  antwort server                       # Starts http://localhost:9292 server for coding and previewing emails\n  antwort upload EMAIL_ID              # Uploads email assets to AWS S3\n  antwort version                      # ouputs version number\n```\n\n__Notes__ \n\n- You should run the commands prefixed with `bundle exec` to make sure the correct version of gems are used.\n\n\n## License (MIT)\n\nCopyright (c) 2014-2017 Julie Ng.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulie-ng%2Fantwort-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulie-ng%2Fantwort-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulie-ng%2Fantwort-cli/lists"}