@zipify/wysiwyg
Advanced tools
Weekly downloads
Readme
Zipify modification of TipTap text editor
# if npm
npm install @zipify/wysiwyg
# if yarn
yarn add @zipify/wysiwyg
For more details see available options and example app
<template>
<Wysiwyg
v-model="content"
:fonts="fonts"
:presets="presets"
:make-preset-variable="$options.makePresetVariable"
default-preset-id="regular-1"
/>
</template>
<script>
import { Wysiwyg } from '@zipify/wysiwyg';
export default {
components: { Wysiwyg },
makePresetVariable: ({ preset, device, property }) => {
return `--${preset.id}-${device}-${property}`;
},
data: () => ({
content: {
type: 'doc',
content: [...]
},
presets: [...],
fonts: [...]
})
}
</script>
Name | Required? | Default Value | Note |
---|---|---|---|
value | true | - | |
presets | true | - | Array of Style-Presets |
default-preset-id | true | - | Id of any preset |
base-preset-class | true | - | Base class of preset |
make-preset-variable | true | - | Generates name of preset variable |
fonts | true | - | Array of fonts |
device | false | 'desktop' | Active device type. can be 'mobile', 'tablet' or 'desktop' |
favorite-colors | false | [] | List of favorite colors in color picker |
toolbar-offsets | false | [0, 8] | Offset between toolbar and content |
base-list-class | false | 'zw-list--' | Base list class |
Represents available font family. Required interface
interface StylePreset {
id: string | number;
name: string;
hidden: boolean;
node?: PresetNode;
fallbackClass?: string;
common: CommonSettings;
desktop: DeviceSettings;
tablet: DeviceSettings;
mobile: DeviceSettings;
}
interface PresetNode {
type: 'heading';
level: 1 | 2 | 3 | 4;
}
interface CommonSettings {
font_family: string;
font_weight: string;
color: string;
font_style: 'italic' | 'normal';
text_decoration: 'none' | 'underline';
}
interface DeviceSettings {
alignment: 'left' | 'center' | 'right' | 'justify';
line_height: string;
font_size: string;
}
const example: StylePreset = {
id: 'h1',
name: 'H1',
node: {
type: 'heading',
level: 1
},
desktop: {
alignment: 'left',
line_height: '1.2',
font_size: '40px'
},
common: {
font_family: 'Lato',
font_weight: '700',
color: '#262626',
font_style: 'normal',
text_decoration: 'none'
},
tablet: {
alignment: 'left',
line_height: '1.2',
font_size: '40px'
},
mobile: {
alignment: 'left',
line_height: '1.2',
font_size: '28px'
}
}
Variable name generator uses follow iterface
const Device = 'common' | 'mobile' | 'tablet' | 'desktop'
interface VariableGeneratorOptions {
preset: StylePreset;
device: Device;
property: string;
}
type GeneratePresetVariable = (options: VariableGeneratorOptions) => string;
Represents available font family. Required interface
interface Font {
name: string;
category: string;
styles: string[];
}
const exmaple: Font = {
name: 'Roboto',
styles: ['300', '300i', '400', '400i', '700', '700i'],
category: 'Regular'
}
git clone git@github.com:ZipifyApps/ZipifyWysiwyg.git
npm install
npm run example:start
# Will be available on http://localhost:7777
FAQs
Zipify modification of TipTap text editor
The npm package @zipify/wysiwyg receives a total of 184 weekly downloads. As such, @zipify/wysiwyg popularity was classified as not popular.
We found that @zipify/wysiwyg demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.