Giter Site home page Giter Site logo

zitumi / v-aspect-ratio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andrewvasilchuk/v-aspect-ratio

0.0 0.0 0.0 3.41 MB

Vue.js derective for setting an aspect ratio

Home Page: https://andrewvasilchuk.github.io/v-aspect-ratio/

License: MIT License

JavaScript 16.96% Makefile 0.99% TypeScript 79.32% Vue 2.73%

v-aspect-ratio's Introduction

v-aspect-ratio

Vue.js directive for setting an aspect ratio

BuildStatus Version Bundle Size Codacy Badge Total alerts Language grade: JavaScript codecov Downloads LastCommit License MadeWithVueJs.com shield

1.x documentation can be found here.

Computer screens with different aspect ratios

Installation

Via NPM

$ npm install v-aspect-ratio --save

Via Yarn

$ yarn add v-aspect-ratio

Directly in browser

<script src="https://unpkg.com/v-aspect-ratio"></script>

Initialization

As a global plugin

It must be called before new Vue()

import Vue from 'vue'
import AspectRatio from 'v-aspect-ratio'

Vue.use(AspectRatio)

As a global directive

import Vue from 'vue'
import { directive } from 'v-aspect-ratio'

Vue.directive('aspect-ratio', directive)

As a local directive

import { directive } from 'v-aspect-ratio'

export default {
  name: 'YourAwesomeComponent',
  directives: {
    'aspect-ratio': directive,
  },
}

As a Nuxt.js SSR directive

// nuxt.config.js

const {
  directive,
} = require('v-aspect-ratio/dist/v-aspect-ratio.ssr.common.js')

module.exports = {
  // ...
  render: {
    bundleRenderer: {
      directives: {
        'aspect-ratio': directive,
      },
    },
  },
  // ...
}

Directly in browser

<!-- As a global directive -->
<script>
  Vue.use(VAspectRatio.default)
  new Vue({
    // ...
  })
</script>
<!-- As a local directive -->
<script>
  new Vue({
    // ...
    directives: { 'aspect-ratio': VAspectRatio.directive },
    // ...
  })
</script>

Usage

<template>
  <div>
    <div v-aspect-ratio="'16:9'"></div>
    <div v-aspect-ratio="'4:3'"></div>
  </div>
</template>

Demo

Demo

Demo

Tests

jest and @vue/test-utils is used for unit tests.

You can run unit tests by running the next command:

npm run test

Development

  1. Clone this repository
  2. Install the dependencies running yarn install or npm install command
  3. Start a development server using npm run dev command

Build

To build the production ready bundle simply run npm run build:

After the successful build the following files will be generated in the dist folder:

├── plugin
  ├── index.d.ts
├── directive.d.ts
├── helpers.d.ts
├── index.d.ts
├── v-aspect-ratio.common.js
├── v-aspect-ratio.esm.js
├── v-aspect-ratio.js
├── v-aspect-ratio.min.js
├── v-aspect-ratio.ssr.common.js
├── v-aspect-ratio.ssr.esm.js
├── v-aspect-ratio.ssr.js
├── v-aspect-ratio.ssr.min.js

License

MIT

v-aspect-ratio's People

Contributors

andrewvasilchuk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.