https://github.com/junosuarez/heredoc
npm module: multiline strings for javascript
https://github.com/junosuarez/heredoc
Last synced: 7 months ago
JSON representation
npm module: multiline strings for javascript
- Host: GitHub
- URL: https://github.com/junosuarez/heredoc
- Owner: junosuarez
- Created: 2012-12-29T21:25:26.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2015-10-21T08:16:04.000Z (almost 11 years ago)
- Last Synced: 2025-10-12T23:27:46.047Z (9 months ago)
- Language: JavaScript
- Size: 172 KB
- Stars: 53
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# heredoc
multiline strings for javascript
[](https://github.com/feross/standard) [](https://circleci.com/gh/jden/heredoc)
## usage
this technique takes advantage of `Function.prototype.toString()`
```js
var heredoc = require('heredoc')
var str = heredoc(function () {/*
within this comment block,
any text
will
be
treated
as
pre-formatted
multiline text
(kinda like html
)
*/})
console.log(str)
```
You can also strip leading indentation:
```js
var text = heredoc.strip(function() {/*
indented strings are fine.
the preceding spaces will be shrinked.
*/})
```
will result in:
```
indented strings are fine.
the preceding spaces will be shrinked.
```
## AMD
`heredoc` defines itself as an AMD module for use in AMD environments.
## installation
$ npm install heredoc
## testing
Install all dependencies:
```bash
$ npm install
$ npm test # run tests in node
$ npm run test-browser # start a server to run tests in browser
$ open http://localhost:5000/test/runner.html
```
## contributors
- jden
- Jason Kuhrt
- Guy Bedford
- Jake Chen
## kudos
thanks to @izs - I first saw this technique when reading through npm source. I find it to be much neater than lots of manual string concatenation.
## license
ISC