viblo-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-beta.34 • Public • Published

Viblo Javascript SDK

Build Status npm version


Installing

npm install --save viblo-sdk

Basic usage

Markdown

Create folder libs include file markdown.js (libs/markdown.js)

import { createRenderer } from 'viblo-sdk/markdown';

const md = createRenderer({
  baseURL: 'http://localhost:3000',
  absoluteURL: false,
  embed: {
    wrapperClass: 'embed-responsive embed-responsive-16by9',
    iframeClass: 'embed-responsive-item',
  },
  katex: {
    maxSize: 500,
    maxExpand: 100,
    maxCharacter: 1000,
  },
});

export default md;

Reactjs:

Create components index.js (components/Markdown/index.js)

import React from 'react';
import PropTypes from 'prop-types'
import md from './libs/markdown';

const Markdown = ({ markdown }) => {
  const rawHtml = md.render(markdown);

  return (
    <div className="md-contents" dangerouslySetInnerHTML={{ __html: rawHtml }} />
  );
}

Markdown.propTypes = {
  markdown: PropTypes.string,
}

Markdown.defaultProps = {
  markdown: '',
}

export default Markdown;

Create page index.js

import Markdown from './components/Markdown'

const Preview = () => {
  return (
    <Markdown markdown={'This is content markdown'} />
  );
}

export default Preview;

Vuejs:

Create components Mardown.vue (components/Mardown.vue)

<template>
    <div v-html="html"/>
</template>

<script>
    import md from './libs/markdown';

    export default {
        props: {
            content: {
                type: String,
                required: true,
            },
        },

        computed: {
            html() {
                return md.render(this.content);
            },
        },
    };
</script>

Create page index.vue

<template>
   <Markdown :content={'This is content markdown'} />
</template>
<script>
    import Markdown from './components/Markdown.vue'

    export default {
        components: {
            Markdown,
        }
    }
</script

Echo

import cookies from 'axios/lib/helpers/cookies'
import { newConnection as newEchoConnection } from 'viblo-sdk/echo'

let options = {
    host: '/',
    csrfToken: cookies.read('XSRF-TOKEN'),
}

export default newEchoConnection(options)

API

// api for comments
import { ... } from 'viblo-sdk/api/comments'

// api for me
import { ... } from 'viblo-sdk/api/me'

// api for users
import { ... } from 'viblo-sdk/api/users'

// api for answers
import { ... } from 'viblo-sdk/api/answers'

...

How to use Viblo Markdown Syntax?

Readme

Keywords

none

Package Sidebar

Install

npm i viblo-sdk

Homepage

viblo.asia

Weekly Downloads

39

Version

0.1.0-beta.34

License

MIT

Unpacked Size

74.3 kB

Total Files

65

Last publish

Collaborators

  • thphuong
  • quynv-1217
  • kimyvgy