index.html
1 <!DOCTYPE html> 2 <html lang="en" dir="ltr"> 3 <head prefix="og: http://ogp.me/ns#"> 4 <meta charset="utf-8"> 5 <title>Plugins | Embark</title> 6 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> 7 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 <!-- Canonical links --> 9 <link rel="canonical" href="https://framework.embarklabs.io/plugins/index.html"> 10 <!-- Alternative links --> 11 12 13 <!-- Icon --> 14 <meta name="msapplication-TileColor" content="#080E1A"> 15 <link rel="icon" type="image/png" href="/assets/images/favicon-16.png" sizes="16x16" /> 16 <link rel="icon" type="image/png" href="/assets/images/favicon-32.png" sizes="32x32" /> 17 18 <link rel="apple-touch-icon" sizes="76x76" href="/assets/images/apple-touch-icon-60x60-precomposed.png"> 19 <link rel="apple-touch-icon" sizes="76x76" href="/assets/images/apple-touch-icon-76x76-precomposed.png"> 20 <link rel="apple-touch-icon" sizes="120x120" href="/assets/images/apple-touch-icon-120x120-precomposed.png"> 21 <link rel="apple-touch-icon" sizes="152x152" href="/assets/images/apple-touch-icon-152x152-precomposed.png"> 22 <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/apple-touch-icon-precomposed.png"> 23 <link rel="apple-touch-icon" href="/assets/images/apple-touch-icon-precomposed.png"> 24 <!-- CSS --> 25 26 <link rel="stylesheet" href="/css/embark.css"> 27 28 <!-- endbuild --> 29 30 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> 31 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" /> 32 33 <!-- RSS --> 34 <link rel="alternate" href="/atom.xml" title="Embark"> 35 <meta property="og:image" content="/img/share.png?v=0.0.5" /> 36 <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.4/styles/dracula.min.css"> 37 38 <script async defer src="https://buttons.github.io/buttons.js"></script> 39 40 41 <script> 42 !function(root, factory) { 43 "function" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set 44 define([], function() { 45 return root.svg4everybody = factory(); 46 }) : "object" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but 47 // only CommonJS-like environments that support module.exports, 48 // like Node. 49 module.exports = factory() : root.svg4everybody = factory(); 50 }(this, function() { 51 /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */ 52 function embed(parent, svg, target) { 53 // if the target exists 54 if (target) { 55 // create a document fragment to hold the contents of the target 56 var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute("viewBox") && target.getAttribute("viewBox"); 57 // conditionally set the viewBox on the svg 58 viewBox && svg.setAttribute("viewBox", viewBox); 59 // copy the contents of the clone into the fragment 60 for (// clone the target 61 var clone = target.cloneNode(!0); clone.childNodes.length; ) { 62 fragment.appendChild(clone.firstChild); 63 } 64 // append the fragment into the svg 65 parent.appendChild(fragment); 66 } 67 } 68 function loadreadystatechange(xhr) { 69 // listen to changes in the request 70 xhr.onreadystatechange = function() { 71 // if the request is ready 72 if (4 === xhr.readyState) { 73 // get the cached html document 74 var cachedDocument = xhr._cachedDocument; 75 // ensure the cached html document based on the xhr response 76 cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(""), 77 cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item 78 xhr._embeds.splice(0).map(function(item) { 79 // get the cached target 80 var target = xhr._cachedTarget[item.id]; 81 // ensure the cached target 82 target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), 83 // embed the target into the svg 84 embed(item.parent, item.svg, target); 85 }); 86 } 87 }, // test the ready state change immediately 88 xhr.onreadystatechange(); 89 } 90 function svg4everybody(rawopts) { 91 function oninterval() { 92 // while the index exists in the live <use> collection 93 for (// get the cached <use> index 94 var index = 0; index < uses.length; ) { 95 // get the current <use> 96 var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute("xlink:href") || use.getAttribute("href"); 97 if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), 98 svg && src) { 99 if (polyfill) { 100 if (!opts.validate || opts.validate(src, svg, use)) { 101 // remove the <use> element 102 parent.removeChild(use); 103 // parse the src and get the url and id 104 var srcSplit = src.split("#"), url = srcSplit.shift(), id = srcSplit.join("#"); 105 // if the link is external 106 if (url.length) { 107 // get the cached xhr request 108 var xhr = requests[url]; 109 // ensure the xhr request exists 110 xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open("GET", url), xhr.send(), 111 xhr._embeds = []), // add the svg and id as an item to the xhr embeds list 112 xhr._embeds.push({ 113 parent: parent, 114 svg: svg, 115 id: id 116 }), // prepare the xhr ready state change event 117 loadreadystatechange(xhr); 118 } else { 119 // embed the local id into the svg 120 embed(parent, svg, document.getElementById(id)); 121 } 122 } else { 123 // increase the index when the previous value was not "valid" 124 ++index, ++numberOfSvgUseElementsToBypass; 125 } 126 } 127 } else { 128 // increase the index when the previous value was not "valid" 129 ++index; 130 } 131 } 132 // continue the interval 133 (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67); 134 } 135 var polyfill, opts = Object(rawopts), newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, webkitUA = /\bAppleWebKit\/(\d+)\b/, olderEdgeUA = /\bEdge\/12\.(\d+)\b/, edgeUA = /\bEdge\/.(\d+)\b/, inIframe = window.top !== window.self; 136 polyfill = "polyfill" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe; 137 // create xhr requests object 138 var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName("use"), numberOfSvgUseElementsToBypass = 0; 139 // conditionally start the interval if the polyfill is active 140 polyfill && oninterval(); 141 } 142 function getSVGAncestor(node) { 143 for (var svg = node; "svg" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {} 144 return svg; 145 } 146 return svg4everybody; 147 }); 148 149 svg4everybody(); 150 </script> 151 </head> 152 153 <body> 154 <header role="banner" class="c-header c-header--compact"> 155 <span class="c-header__background"></span> 156 <div class="o-container c-header__content"> 157 <div class="c-header__top"> 158 <a href="/" title="Embark" class="c-logo c-logo--negative">Embark</a> 159 <nav role="navigation" class="c-navigation"> 160 <div class="c-navigation__header"> 161 <a href="/" title="Embark" class="c-logo">Embark</a> 162 <button class="c-navigation__close u-text-light" title="Close menu"> 163 <svg class="c-icon c-icon--xs"><use xlink:href="/../assets/icons/symbols.svg#icon-close"></use></svg> 164 </button> 165 </div> 166 <div class="c-navigation__body"> 167 <ul class="c-navigation__list"> 168 <li class="c-navigation__item"> 169 <a href="/docs/quick_start.html" class="c-navigation__anchor " title="Quick Start">Quick Start</a> 170 </li> 171 <li class="c-navigation__item"> 172 <a href="/docs" class="c-navigation__anchor " title="Learn">Learn</a> 173 </li> 174 <li class="c-navigation__item"> 175 <a href="/plugins" class="c-navigation__anchor is-active" title="Plugins">Plugins</a> 176 </li> 177 <li class="c-navigation__item"> 178 <a href="/community" class="c-navigation__anchor " title="Community">Community</a> 179 </li> 180 <li class="c-navigation__item"> 181 <a href="https://blog.embarklabs.io" target="_blank" rel="noopener" class="c-navigation__anchor " title="Blog">Blog</a> 182 </li> 183 </ul> 184 </div> 185 </nav> 186 <div class="o-flex o-flex-center"> 187 <form action="" class="o-flex__item u-hidden-until-large"> 188 <input type="search" placeholder="Search" id="search-input"> 189 </form> 190 <div class="o-flex__item"> 191 <ul class="o-flex o-flex-center"> 192 <li class="o-flex__item"> 193 <a href="https://github.com/embarklabs/embark" title="Github" target="_blank" class="u-link-ghost"> 194 <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-github"></use></svg> 195 </a> 196 </li> 197 <li class="o-flex__item"> 198 <a href="https://twitter.com/EmbarkProject" title="Twitter" target="_blank"> 199 <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-twitter"></use></svg> 200 </a> 201 </li> 202 <li class="o-flex__item u-hidden-large-up"> 203 <button type="button"class="c-navigation__trigger u-link-ghost" title="Open menu"> 204 <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-navigation-menu"></use></svg> 205 </button> 206 </li> 207 </ul> 208 </div> 209 </div> 210 </div> 211 <div class="c-quick-search o-distance-m u-hidden-large-up"> 212 <input type="search" id="inp-search" placeholder="Search"> 213 </div> 214 <div class="c-header__body"> 215 <h1 class="c-title u-text-ghost">Plugins</h1> 216 217 218 <p class="c-subtitle o-distance-s">Extend Embark to your needs.</p> 219 220 221 222 223 </div> 224 </div> 225 </header> 226 227 228 <main role="main"> 229 230 <section class="o-container o-distance"> 231 <div class="o-heading o-center"> 232 233 234 <p class="o-heading__subtitle c-subtitle u-text-death"> 235 Plugins extend Embark and provide integration with other tools and technologies. 236 </p> 237 238 239 <p class="o-heading__footer"> 240 <a href="/docs/creating_plugins.html" class="c-link" title="Build your own!">Build your own!</a> 241 </p> 242 243 </div> 244 245 246 </section> 247 248 <section class="o-container o-distance"> 249 <div class="o-grid"> 250 251 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 252 253 <h3 class="c-body-title"> 254 255 embark-bamboo 256 257 </h3> 258 259 <p class="c-box__subtitle u-text-light">Plugin to add Bamboo support to Embark</p> 260 261 <p class="c-box__footer"> 262 <a href="https://www.npmjs.com/package/embark-bamboo" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 263 </p> 264 265 </div> 266 267 268 269 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 270 271 <h3 class="c-body-title"> 272 273 embark-solc 274 275 </h3> 276 277 <p class="c-box__subtitle u-text-light">Uses the command line Solidity Compiler for light-speed compile times</p> 278 279 <p class="c-box__footer"> 280 <a href="https://www.npmjs.com/package/embark-solc" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 281 </p> 282 283 </div> 284 285 286 287 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 288 289 <h3 class="c-body-title"> 290 291 embark-solium 292 293 </h3> 294 295 <p class="c-box__subtitle u-text-light">The official Solium Plugin for the Embark Framework</p> 296 297 <p class="c-box__footer"> 298 <a href="https://www.npmjs.com/package/embark-solium" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 299 </p> 300 301 </div> 302 303 304 305 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 306 307 <h3 class="c-body-title"> 308 309 embark-etherscan-verifier 310 311 </h3> 312 313 <p class="c-box__subtitle u-text-light">Plugin for Embark to flatten and verify contracts on Etherscan</p> 314 315 <p class="c-box__footer"> 316 <a href="https://www.npmjs.com/package/embark-etherscan-verifier" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 317 </p> 318 319 </div> 320 321 322 323 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 324 325 <h3 class="c-body-title"> 326 327 embark-status 328 329 </h3> 330 331 <p class="c-box__subtitle u-text-light">Status plugin to interact with Embark</p> 332 333 <p class="c-box__footer"> 334 <a href="https://www.npmjs.com/package/embark-status-plugin" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 335 </p> 336 337 </div> 338 339 340 341 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 342 343 <h3 class="c-body-title"> 344 345 embark-remix 346 347 </h3> 348 349 <p class="c-box__subtitle u-text-light">Plugin to start Remix directly with Embark</p> 350 351 <p class="c-box__footer"> 352 <a href="https://www.npmjs.com/package/embark-remix" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 353 </p> 354 355 </div> 356 357 358 359 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 360 361 <h3 class="c-body-title"> 362 363 embark-slither 364 365 </h3> 366 367 <p class="c-box__subtitle u-text-light">Plugin to analyse solidity source code with Slither</p> 368 369 <p class="c-box__footer"> 370 <a href="https://www.npmjs.com/package/embark-slither" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 371 </p> 372 373 </div> 374 375 376 377 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 378 379 <h3 class="c-body-title"> 380 381 embark-snark 382 383 </h3> 384 385 <p class="c-box__subtitle u-text-light">Plugin to compile circom circuits and generate a Solidity proof</p> 386 387 <p class="c-box__footer"> 388 <a href="https://www.npmjs.com/package/embark-snark" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 389 </p> 390 391 </div> 392 393 394 395 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 396 397 <h3 class="c-body-title"> 398 399 embark-fortune 400 401 </h3> 402 403 <p class="c-box__subtitle u-text-light">Displays a fortune message after every build</p> 404 405 <p class="c-box__footer"> 406 <a href="https://www.npmjs.com/package/embark-fortune" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 407 </p> 408 409 </div> 410 411 412 413 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 414 415 <h3 class="c-body-title"> 416 417 embark-pug 418 419 </h3> 420 421 <p class="c-box__subtitle u-text-light">Embark plugin to support pug / jade templates</p> 422 423 <p class="c-box__footer"> 424 <a href="https://www.npmjs.com/package/embark-pug" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 425 </p> 426 427 </div> 428 429 430 431 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 432 433 <h3 class="c-body-title"> 434 435 embark-haml 436 437 </h3> 438 439 <p class="c-box__subtitle u-text-light">Embark plugin to support haml templates</p> 440 441 <p class="c-box__footer"> 442 <a href="https://www.npmjs.com/package/embark-haml" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 443 </p> 444 445 </div> 446 447 448 449 <div class="c-box c-box--whisper o-grid__column--1-1 o-grid__column--large-1-3 "> 450 451 <h3 class="c-body-title"> 452 453 embark-mythx 454 455 </h3> 456 457 <p class="c-box__subtitle u-text-light">Adds console commands to run MythX security analysis from the Embark console</p> 458 459 <p class="c-box__footer"> 460 <a href="https://www.npmjs.com/package/embark-mythx" target="_blank" rel="noopener" title="Learn More" class="c-link">Learn More</a> 461 </p> 462 463 </div> 464 465 466 467 </div> 468 </section> 469 </main> 470 471 <footer role="contentinfo" class="c-footer o-distance-xxl"> 472 <div class="o-container"> 473 <div class="c-footer__top"> 474 <p class="c-category-title c-footer__top__title u-text-light"> 475 <a href="/" class="c-logo c-logo--negative" title="Embark">Embark</a> 476 </p> 477 </div> 478 <div class="c-footer__body"> 479 <div class="o-grid"> 480 <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5"> 481 <p class="c-category-title u-text-light">Resources</p> 482 <ul class="o-list-bare"> 483 <li class="o-list-bare__item"> 484 <a href="/docs/quick_start.html" class="u-link-ghost" title="Quick Start">Quick Start</a> 485 </li> 486 <li class="o-list-bare__item"> 487 <a href="/docs" class="u-link-ghost" title="Documentation">Documentation</a> 488 </li> 489 <li class="o-list-bare__item"> 490 <a href="https://blog.embarklabs.io" target="_blank" rel="noopener" class="u-link-ghost" title="Blog">Blog</a> 491 </li> 492 <li class="o-list-bare__item"> 493 <a href="/docs/faq.html" class="u-link-ghost" title="FAQ">FAQ</a> 494 </li> 495 <li class="o-list-bare__item"> 496 <a href="/docs/troubleshooting.html" class="u-link-ghost" title="Troubleshooting">Troubleshooting</a> 497 </li> 498 </ul> 499 </div> 500 <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5"> 501 <p class="c-category-title u-text-light">Help</p> 502 <ul class="o-list-bare"> 503 <li class="o-list-bare__item"> 504 <a href="https://stackoverflow.com/questions/tagged/embark" target="_blank" rel="noopener" class="u-link-ghost" title="Embark Questions">Stack Overflow</a> 505 </li> 506 <li class="o-list-bare__item"> 507 <a href="https://gitter.im/embark-framework/Lobby" target="_blank" rel="noopener" class="u-link-ghost" title="Gitter">Gitter</a> 508 </li> 509 <li class="o-list-bare__item"> 510 <a href="https://github.com/embarklabs/embark/issues" target="_blank" rel="noopener" class="u-link-ghost" title="Report issues">Report issues</a> 511 </li> 512 <li class="o-list-bare__item"> 513 <a href="https://github.com/embarklabs/embark/blob/master/CODE_OF_CONDUCT.md" target="_blank" rel="noopener" class="u-link-ghost" title="Code of Conduct">Code of Conduct</a> 514 </li> 515 </ul> 516 </div> 517 <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5"> 518 <p class="c-category-title u-text-light">Community</p> 519 <ul class="o-list-bare"> 520 <li class="o-list-bare__item"> 521 <a href="https://github.com/embarklabs" target="_blank" rel="noopener" class="u-link-ghost" title="Github">Github</a> 522 </li> 523 <li class="o-list-bare__item"> 524 <a href="https://twitter.com/EmbarkProject" target="_blank" rel="noopener" class="u-link-ghost" title="Twitter">Twitter</a> 525 </li> 526 <li class="o-list-bare__item"> 527 <a href="/docs/contributing.html" class="u-link-ghost" title="Contribute">Contribute</a> 528 </li> 529 <li class="o-list-bare__item"> 530 <a href="/community/#team" class="u-link-ghost" title="Team">Team</a> 531 </li> 532 </ul> 533 </div> 534 535 <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-4"> 536 <p class="c-category-title u-text-light">The Status Network</p> 537 <ul class="o-list-bare two-columns"> 538 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://status.im/" target="_blank">Status</a></li> 539 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://keycard.tech/" target="_blank">Keycard</a></li> 540 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://dap.ps/" target="_blank">dap.ps</a></li> 541 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://teller.exchange/" target="_blank">Teller</a></li> 542 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://assemble.fund/" target="_blank">Assemble</a></li> 543 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://subspace.embarklabs.io/" target="_blank">Subspace</a></li> 544 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://vac.dev/" target="_blank">Vac</a></li> 545 <li class="o-list-bare__item"><a class="u-link-ghost" href="https://nimbus.team/" target="_blank">Nimbus</a></li> 546 </ul> 547 </div> 548 </div> 549 </div> 550 <div class="c-footer__bottom"> 551 <p class="u-text-light"> 552 <a href="https://status.im/privacy-policy.html" title="Privacy Policy" target="_blank" class="u-text-light">Privacy Policy</a> 553 / © 2019-2020 Embark 554 </p> 555 </div> 556 </div> 557 </footer> 558 559 560 561 562 <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.4/highlight.min.js"></script> 563 <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script> 564 <script> 565 const EMBARK_DOC_VERSIONS = { 566 'latest': 'https://framework.embarklabs.io/docs','3.2': 'https://5ca4e0fdb29712000adde37f--embark-site-versions.netlify.com/docs/' 567 }; 568 </script> 569 570 571 <!-- Fathom - simple website analytics - https://github.com/usefathom/fathom --> 572 <script> 573 (function(f, a, t, h, o, m){ 574 a[h]=a[h]||function(){(a[h].q=a[h].q||[]).push(arguments)}; 575 o=f.createElement('script'), 576 m=f.getElementsByTagName('script')[0]; 577 o.async=1; o.src=t; o.id='fathom-script'; 578 m.parentNode.insertBefore(o,m) 579 })(document, window, '//fathom.status.im/tracker.js', 'fathom'); 580 fathom('set', 'siteId', 'YDUQQ'); 581 fathom('trackPageview'); 582 </script> 583 <!-- / Fathom --> 584 585 586 <script src="/js/index.js"></script> 587 588 589 <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script> 590 <script type="text/javascript"> 591 docsearch({ 592 apiKey: '439d8dc2add18007a2f31be4a9c0ed70', 593 indexName: 'embark', 594 inputSelector: '#search-input' 595 }); 596 </script> 597 598 </body> 599 </html> 600