1.1.3 • Published 13 days ago

@teamteanpm2024/reprehenderit-velit-animi v1.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
13 days ago

@teamteanpm2024/reprehenderit-velit-animi

@teamteanpm2024/reprehenderit-velit-animi accepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feeds.

@teamteanpm2024/reprehenderit-velit-animi is not too picky about your HTML.

Requirements

@teamteanpm2024/reprehenderit-velit-animi is intended for use with Node. That's pretty much it. All of its npm dependencies are pure JavaScript. @teamteanpm2024/reprehenderit-velit-animi is built on the excellent htmlparser2 module.

How to use

npm install @teamteanpm2024/reprehenderit-velit-animi

var @teamteanpm2024/reprehenderit-velit-animi = require('@teamteanpm2024/reprehenderit-velit-animi');

var dirty = '<a href="/foo">Foo!</a>';
var clean = @teamteanpm2024/reprehenderit-velit-animi(dirty, 'http://example.com');

// clean is now:
// <a href="http://example.com/foo">Foo!</a>

Boom!

If you want to do further processing of each absolute URL, you can also pass a decorator function:

var clean = @teamteanpm2024/reprehenderit-velit-animi(dirty, 'http://example.com', {
  decorator: function(url) {
    return 'http://mycoolthing.com?url=' + encodeURIComponent(url);
  }
});

Having issues with SVG markup?

How can I keep SVG self-closing tags intact?

You can add custom self-closing tags via the selfClosing option:

var @teamteanpm2024/reprehenderit-velit-animi = require('@teamteanpm2024/reprehenderit-velit-animi');

var dirty = `
  <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <a href="/docs/Web/SVG/Element/circle">
      <circle cx="50" cy="40" r="35"/>
    </a>
    <path d="M 10 10 H 90 V 90 H 10 L 10 10"/>
    <circle cx="10" cy="90" r="2" fill="red"/>
  </svg>
`;
var clean = @teamteanpm2024/reprehenderit-velit-animi(dirty, 'http://example.com', {
  selfClosing: [
    // keep default `selfClosing` tags:
    ...@teamteanpm2024/reprehenderit-velit-animi.defaults.selfClosing,

    // add custom tags:
    'path',
    'circle'
  ]
});

// clean is now:
// <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
//   <a href="http://example.com/docs/Web/SVG/Element/circle">
//     <circle cx="50" cy="40" r="35" />
//   </a>
//   <path d="M 10 10 H 90 V 90 H 10 L 10 10" />
//   <circle cx="10" cy="10" r="2" fill="red" />
// </svg>

Changelog

1.0.2: Updates to lodash v4 and mocha v7 for security vulnerability fixes. Also update package metadata.

1.0.0: no new changes; declared stable as with the addition of the decorator option there's little left to do, and all tests are passing nicely.

0.2.0: decorator option added.

0.1.0: initial release.

About P'unk Avenue and Apostrophe

@teamteanpm2024/reprehenderit-velit-animi was created at P'unk Avenue for use in Apostrophe, an open-source content management system built on node.js. If you like @teamteanpm2024/reprehenderit-velit-animi you should definitely check out apostrophenow.org. Also be sure to visit us on github.

Support

Feel free to open issues on github.

phoneES2022dependency managerkarmawebtextFloat64ArraylibphonenumberelectronarraystapsequencejsonschemaES6ansimomentajvjwtpackage managercolorponyfillstreamsutilitynpmIteratorutilsfastclonetoolkitpreserve-symlinkseventEmittertypeofutilitiesutil.inspectfoldermiddlewaretouchTypeScriptformattingshamchecksafeserializerschemebreakparentsstylingttyvalidfull-widthloggingequalbatchECMAScript 2022deepECMAScript 2017hooksregexsyntaxerrorremovepackagesECMAScript 5Reflect.getPrototypeOfArrayBufferserializeduplexlintdeterministicbootstrap cssaccessoruuidnopeoptimizerArray.prototype.flatdomreact posemaketypeecmascriptawesomesauceES2016sideArray.prototype.findLastIndexeventDispatcheres7CSSerror-handlingfastlengthECMAScript 7es2017argumentsthrottlepromiseYAMLinferencevaluesECMAScript 6letequalitykoreaninstallcommand-linemochaconcatMapprototypeconcatvalidationES2018dotenvInt32ArrayexecutableArray.prototype.filterreaddefaultxdg-opendataViewECMAScript 2020definePropertyes2015language__proto__randomhigher-ordercollection.es6immutablereadabletoSortedvara11ytermextendgetPrototypeOfwebsitefantasy-landterminaljson-schema-validationgetterwordbreakjson-schema-validator.envgetString.prototype.trimhasObject.assignArray.prototype.findLasttoobjecttranspilerpostcsscharactersruntimefast-cloneimmerargparsebddcore-jsspinnerbabel-corewidthBigInt64Arraytslibgetoptcolumnrgbtypescriptchromiummake dirfseventscompile lessrequirewindowsrobustirqES2020ObservablenamessetPrototypeOfdom-testing-libraryairbnbesiteratormkdiropensslicemodulesinvariantclassescryptUint32Arrayregulargradients cssprivatecss-in-jslimitedestreeCSSStyleDeclaration$.extendgraphqlparentlinuxautoprefixerutilnested csscharactercallbacklook-upTypeBoxObject.entriesenvhasOwn3dgradients css3genericsconcurrencywaiterrorstringifyArray.prototype.flatteninspectjsonpathtypedprefixECMAScript 2015definestringifierJSONdescriptornodejslazyconsumefindcolumnsstreames-abstractiterationmulti-packagefilebindpostcss-plugintakeinputsymbolsasyncstylesheetmetadatafast-copydeleteWeakSetlistenerspackage.jsonstyleguidecontainsvariables in cssdirappclientes-shimsInt8ArrayargscommanderURLSearchParamshashframeworkdirectoryreact-hooksless compilertimewgetsearchES8escapequeueMicrotaskassertionESnextmatchtestingmkdirpcurriedfromtc39collectiones5fixed-widthauthenticationclone6to5typanionimportcall-bindstatelessloadingharmonypushfile systemcss variablearrayforEachflattenfastifywaapiArrayreact animationqueueeverypluginflatshebangRxprotoeslintconfigrm -frjasminefastcopymobileclassnameopenReactiveXramdaxtermjsonspinnersUint16Arrayexit-codepropertyeventshelpersreactpasswordscheme-validationrateWebSocketqsStreamsESsyntaxnumberuser-streamsexitformssymlinksECMAScript 2016somenegative zerooutputworkeruninstallassertsanitizejapaneseES5stablecomputed-typesboundSettypeerrorInt16ArraygesturesWebSocketsStreamfindLastIndexemojiObject.fromEntriescensorES2015istrimEndcallboundtoArraylogextrasharedguideslintclitapesameValueZerobcryptvaluexhrworkspace:*linkwatchingbyteLengthshrinkwrapArray.prototype.includesiteratermanimationintrinsicbufferMapratelimitoptimistexeSymboles6shellspeedfpmime-dbajaxcss lessyup@@toStringTagcall-boundFloat32Arrayvisualsymbolformassertsfast-deep-clonetacitArray.prototype.containssigintstartpolyfillUint8ClampedArraycorsjsdifftypedarrayspnpm9monorepoapigroupPromiseinternal slotreact-testing-libraryreusestarterhardlinksless csspositivewritedataviewposesigtermtrimRight_.extendi18nvalidatorECMAScript 2021picomatcheslint-pluginminimalflatMapwhatwgStyleSheetmacosquerystringurlpathstatusdependenciessort-0ES2019setlimitsettingsmrunodees2016editor0openerES2017assignrmdirprocessweaksetRegExp#flagsbootstrap lessstyled-componentsjson-schemajQueryidpropprogresstoolsObservablesES2023browserslistcoerciblewalkslotcallenderbusyArrayBuffer.prototype.slicecode pointsoptionhttpssymlinkpopmotionexpresspoint-freerm -rfcomparepyyamlarraybufferstylesless mixinspropertiespruneHyBitestregexpparsertyped arraywrapsanitizationxdgtrimLeftreducerstreams2packagetsquerydateconfigastconfigurablespringthroatcmdECMAScript 2019omitstructuredCloneargument[[Prototype]]createtostringtagcssjsxtypedarraybytequotelrudataObject.keysclassnamesES2021sortedmatchesSymbol.toStringTagchromemixinsdeepclonesuperagentarktypejavascriptidlecss nestinghttpvalidateBigUint64Arrayregular expressionsdeep-copywritableObject.iseslintpluginl10nrequestRxJSemitcryptoformatprivate datainstallerdeep-clonetypesconstArray.prototype.flatMapenvironmentcjkMicrosoftthreereduceweakmapFunction.prototype.nametraversees8persistentprotocol-buffersperformantexpressioncommandsetImmediatestylecompilerform-validationfsRFC-6455vestless.jssharedarraybuffercurlAsyncIteratorjoiconnectrangeerrorwatchFileObject.definePropertyconsoletelephoneyamlgetintrinsicfindup256jestES3callbindoffsetfetchclass-validatorregular expressionio-tsxssmodulegroupByfilterapollowatcherReactiveExtensionsreal-timekeydebugstringbluebirdchild
1.0.2

15 days ago

1.1.3

13 days ago

1.0.3

14 days ago

1.0.1

16 days ago

1.0.0

16 days ago