vue-suglify
A Vue.js component to suglify
1,326
21
| Install | |
|---|---|
npm install vue-suglify |
|
| Latest Version: | 1.0.14 |
| Vue: | 2 |
| License: | MIT |
| Last Updated: | Feb 11, 2018 |
| Links: | GitHub · npm |
Maintainer: mohamedbenhida
Slugify VueJs
A Vue component that slugify your v-model inputs We make a little changement so you can handle the input with your own stuff.
Demo
Installation :
npm install vue-suglify
Getting Started
In your script entry point:
window.Vue = require("vue");
import VueSuglify from "vue-suglify";
//Vue.component("suglify", VueSuglify); If you want a global Component
const app = new Vue({
el: "#app",
components: {
VueSuglify
},
data: {
title: "",
titleSlug: ""
}
});
Usage
Just apply the name and the model name that you want to have the value of the slug
<div id="app">
<input type="text" v-model="title" class="form-control">
<suglify :slugify="title" :slug.sync="titleSlug">
<input slot-scope="{inputBidding}" v-bind="inputBidding"
type="text" class="form-control" placeholder="Slug ...">
</suglify>
</div>
<script>
const app = new Vue({
el: '#app',
components: {
VueSuglify
},
data: {
title : '',
titleSlug : ''
},
});
</script>
The separator can be change by passing sep attribute by default is -
<suglify :slugify="title" :slug.sync="titleSlug" sep="---">
<input slot-scope="{inputBidding}" v-bind="inputBidding"
type="text" class="form-control" placeholder="Slug ...">
</suglify>
If You want the first letter to be UpperCase you can use lowerCase
<suglify :slugify="title" :slug.sync="titleSlug" :lowerCase="false">
<input slot-scope="{inputBidding}" v-bind="inputBidding"
type="text" class="form-control" placeholder="Slug ...">
</suglify>
Limit the number letters using limit by default is 100
<suglify :slugify="title" :slug.sync="titleSlug" :limit="30">
<input slot-scope="{inputBidding}" v-bind="inputBidding"
type="text" class="form-control" placeholder="Slug ...">
</suglify>
You can now pass object named extras where you replace a letter with something of your choice
In this example we remplace letter s with letter Suglify
<suglify :slugify="title" :slug.sync="titleSlug" :extras="{'s' : 'Suglify'}">
<input slot-scope="{inputBidding}" v-bind="inputBidding"
type="text" class="form-control" placeholder="Slug ...">
</suglify>
Contributing
You are more than welcome to contribute to this repo with anything you think is useful. fixes are more than welcome.
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.14 | ^2.2.1 | MIT | |
| 1.0.13 | ^2.2.1 | MIT | |
| 1.0.12 | ^2.2.1 | MIT | |
| 1.0.11 | ^2.2.1 | MIT | |
| 1.0.10 | ^2.2.1 | MIT | |
| 1.0.9 | ^2.2.1 | MIT | |
| 1.0.8 | ^2.2.1 | MIT | |
| 1.0.7 | ^2.2.1 | MIT | |
| 1.0.6 | ^2.2.1 | MIT | |
| 1.0.5 | ^2.2.1 | MIT | |
| 1.0.3 | ^2.2.1 | MIT | |
| 1.0.2 | ^2.2.1 | MIT | |
| 1.0.1 | ^2.2.1 | MIT | |
| 1.0.0 | ^2.2.1 | MIT |