{"id":20435953,"url":"https://github.com/d4nyll/epic","last_synced_at":"2026-03-07T02:03:33.368Z","repository":{"id":25311803,"uuid":"28738478","full_name":"d4nyll/epic","owner":"d4nyll","description":"A JavaScript Markdown editor for Meteor, using EpicEditor.","archived":false,"fork":false,"pushed_at":"2018-12-05T13:42:00.000Z","size":60,"stargazers_count":13,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T21:38:01.471Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://epiceditor.meteor.com/","language":"JavaScript","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/d4nyll.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2015-01-03T08:02:05.000Z","updated_at":"2020-04-27T14:49:44.000Z","dependencies_parsed_at":"2022-08-06T03:15:19.560Z","dependency_job_id":null,"html_url":"https://github.com/d4nyll/epic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/d4nyll/epic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d4nyll%2Fepic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d4nyll%2Fepic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d4nyll%2Fepic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d4nyll%2Fepic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d4nyll","download_url":"https://codeload.github.com/d4nyll/epic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d4nyll%2Fepic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30205893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-15T08:38:37.869Z","updated_at":"2026-03-07T02:03:33.350Z","avatar_url":"https://github.com/d4nyll.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# epic\n\n* This repository uses a legacy syntax used in Meteor **1.0.x**\n* This repository is **unmaintained**\n* It appears Epic Editor is also **unmaintained** - no commits in any branch since 26 Sep 2016\n* I'd recommend using **React** as the view layer for your Meteor application, in which case you can simply use a component like [react-md-editor](https://github.com/JedWatson/react-md-editor) by importing it directly from npm\n\n[![Build Status](https://travis-ci.org/d4nyll/epic.svg?branch=master)](https://travis-ci.org/d4nyll/epic)\n\nA JavaScript Markdown editor for [Meteor](https://github.com/meteor/meteor), using [EpicEditor](https://github.com/OscarGodson/EpicEditor).\n\n## Installation\n\n    meteor add d4nyll:epic\n\n## Usage\n\n### Inside a template\n\nTo use `d4nyll:epic` inside a template, simply add `{{\u003e epic}}` inside the your template. The editor will append a template to where the placeholder is. A textarea with a class of `epicarea` will also be added, and syncs with the editor. You can retrieve the value of the editor from this textarea.\n\nMultiple editors can be added on the same page, and will have the `id` of `epiceditor[a-number]` (e.g. `epiceditor0`, `epiceditor1`). Each editor will be synced with a textarea with the corresponding `id` (e.g. `epiceditor0` syncs with `epicarea0`)\n\n### Using the API\n\nYou can render an editor inside an element using `Epic.create(id, options)`. Pass in the `id` of the containing `div` element, and also an object containing any options.\n\nHere the textarea will have an id of `epicarea[id-of-container]`. For example, an editor inside `\u003cdiv id=\"epicdiv\"\u003e` will sync with a textarea with the `id` of `epicareaepicdiv`.\n\n### Options\n\nYou may use a Meteor template helper to define an object which can be passed to `epic` using `{{\u003e epic obj}}`, where `obj` is the object. You can specify the [same set of options](https://github.com/OscarGodson/EpicEditor#epiceditoroptions) as EpicEditor. Any erroneous properties will be ignored.\n\n#### Preloading text\n\nYou can preload the editor with some text, either dynamically, or use existing text. You can do this through the template by adding `{{\u003e epic 'A string representing the markdown'}}` or in the API by adding a string to the `preloadText` property of the `opts` object.\n\n**In template**\n\n    {{\u003e epic 'This is preloaded text!\\nCan even do new lines!'}}\n\n**Using the API**\n\n    Template.preloadapi.rendered = function () {\n        var opts = {\n            preloadText: 'This is preloaded text using the API!\\nCan even do new lines!'\n        };\n        Epic.create('preloadapicontainer', opts);\n    };\n\n#### Using your own theme\n\nTo use your own theme, you must place **all** your theme's CSS file inside the `public` directory. Then create an object containing the options, which should include **all** the themes - i.e. If you are using a custom `editor` theme, you would also need to place the `base` and `preview` theme in the relevant directory also.\n\nHere's an example taken from `/example/testing/`:\n\n    Template.epicCreate.rendered = function () {\n    \tvar opts = {\t\n    \t\tbasePath: '/epic/themes',\n    \t\ttheme: {\n    \t\t\tbase: '/base/epiceditor.css',\n    \t\t\tpreview: '/preview/github.css',\n    \t\t\teditor: '/editor/epic-custom.css'\n    \t\t}\n    \t};\n    \tEpic.create('epicCreateContainer', opts);\n    };\n\nHere, the `editor` CSS files are placed inside the `/public/epic/themes/editor/epic-custom.css` of the application.\n\n## Contributors\n\n### How to test\n\nYou should specify a port number for one of the tests if you run them concurrently, otherwise, they'll both try to use port 3000.\n\n#### Mocha (with Velocity)\n\nNavigate into the `/examples/testing/` directory and simply run `meteor`, the test application will load up with a (hopefully) green icon on the top right, indicating all tests have passed.\n\nYou can write new tests inside the `/tests/mocha/client/` directory.\n\n#### TinyTest\n\nUntil Velocity supports TinyTest, we will have to run TinyTest 'outside' of Velocity. Go to the root directory of the package and type:\n\n    meteor test-packages ./\n\nYou can add more tests by editing `d4nyll:epic-tests.js`, or write into your own file and add a `api.addFiles('your-test.js', 'client');` line into `package.js` inside the `Package.onTest(function(api){})` block.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd4nyll%2Fepic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd4nyll%2Fepic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd4nyll%2Fepic/lists"}