npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue-routing-anchor-parser

v1.15.1

Published

A Vue directive that parses child elements for internally linking anchor tags and binds their click events to use Vue Router's push().

Downloads

278

Readme

vue-routing-anchor-parser

A Vue directive that parses child elements for internally linking anchor tags and binds their click events to use Vue Router's push().

Install

yarn add vue-routing-anchor-parser or npm install --save vue-routing-anchor-parser

Configure

Vue

In a your bootstrapping JS:

parseAnchors = require('vue-routing-anchor-parser')
directive.settings({
  addBlankToExternal: false,
  internalUrls: [
    /^https?:\/\/localhost:\d+/
    /^https?:\/\/([\w\-]+\.)?netlify\.com/
    /^https?:\/\/([\w\-]+\.)?bukwild\.com/
  ]
  internalHosts: [
    'localhost',
    'example.com',
  ]
})
Vue.directive('parse-anchors', parseAnchors)

Nuxt

In nuxt.config.js:

  modules: [
    'vue-routing-anchor-parser/nuxt/module',
  ],
  anchorParser: {
    addBlankToExternal: true,
    internalUrls: [
      /^https?:\/\/localhost:\d+/,
      /^https?:\/\/([\w\-]+\.)?netlify\.com/,
      /^https?:\/\/(www\.)?bukwild\.com/,
    ],
    internalHosts: [
      'localhost',
      'bukwild.com',
    ],
    externalPaths: [
      /^\/react-landing-page/,
    ],
    sameWindowUrls: [
      /^https?:\/\/(shop\.)?bukwild\.com/,
    ],
    disableSmartLinkRegistration: false,
  }

Options

  • addBlankToExternal: Set to true to add target='_blank' to external links
  • internalUrls: Array of regexes that, when found in href attributes, get treated as internal links.
  • internalHosts: Array of host names that, when found in href attributes, get treated as internal links. These are checked after internalUrls.
  • externalPaths: Array of regexes that, when found in href attributes, get treated as external links. Useful for sections of your website that are not part of this Vue/Nuxt app.
  • sameWindowUrls: Array of regexes that are checked when a URL is not internal. If there is a match, the URL opens in the same window rather opening a new window.
  • disableSmartLinkRegistration: Set to true to prevent the auto registration of smart-link

Usage

v-parse-anchors directive

Add v-parse-anchors wherever you want to parse child anchors for internal links and route clicks through Vue Router. hrefs that begin with a slash, like <a href='/path/to/something'> are treated as internal automatically. If an internal route can't be resolved by Vue Router, it falls back to a full page refresh (though never opens in a new window.)

smart-link component

The smart-link component conditionally renders a nuxt-link if an internal link or an a tag if not.

<smart-link to='https://www.bukwild.com'>Bukwild</smart-link>

Notes

  • This currently only parses on bind, meaning if the contents for the element change later, new a tags won't be processed.