Skip to content

Instantly share code, notes, and snippets.

const Fieldtype = {
mixins: [window.Storyblok.plugin],
template: `
<div>
<input
class="uk-width-1-1"
type="number"
@input="validate"
:step="options.step || 1"
ref="input"
@onefriendaday
onefriendaday / sync.js
Last active May 13, 2019 11:36
Script to access all alternates of a "default" folder.
const StoryblokClient = require('storyblok-js-client')
const Storyblok = new StoryblokClient({
oauthToken: 'TOKEN'
})
const spaceId = SPACE_ID
const Sync = {
dimensions: [],
@onefriendaday
onefriendaday / Page.js
Last active June 3, 2019 14:39
Get storyblok links in gatsby
import React from 'react'
import Components from './components.js';
import { StaticQuery, graphql } from "gatsby"
class Navi extends React.Component {
constructor(props) {
super(props)
const nest = (items, id = 0) => items
.filter(item => item.parent_id === id)
@onefriendaday
onefriendaday / loop.js
Created June 14, 2019 11:36
Get all stories
const StoryblokClient = require('storyblok-js-client')
const Storyblok = new StoryblokClient({
token: 'TOKEN'
})
const Sync = {
getAll(page) {
return Storyblok.get(`stories`, {
per_page: 25,
@onefriendaday
onefriendaday / Fieldtype.js
Created June 14, 2019 12:18
Storyblok Fieldtype validation
const Fieldtype = {
mixins: [window.Storyblok.plugin],
template: `
<div>
<input
class="uk-width-1-1"
type="number"
@input="validate"
:step="1"
ref="input"
const Fieldtype = {
template: `
<div v-if="model.urlList">
<div class="uk-flex uk-flex-middle" v-for="(locale, key) in options" :key="locale">
<div v-html="locale" />
<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3" :value="model.urlList[key]" @input="validate($event, key)">
<div>/</div>
<div v-if="showError[key]">!!! Url invalid</div>
</div>
</div>
@onefriendaday
onefriendaday / Fieldtype.js
Created July 31, 2019 07:48
Storyblok TinyMCE plugin
const Fieldtype = {
mixins: [window.Storyblok.plugin],
template: `<div><textarea v-model="model.content" id="mytextarea"></textarea></div>`,
methods: {
initWith() {
return {
plugin: 'wysiwyg-tinymce',
content: ''
}
},
const Fieldtype = {
mixins: [window.Storyblok.plugin],
data() {
return {
advancedOpen: false
}
},
template: `<div>
<div class="uk-margin-small-bottom">
Google preview
pluginCreated() {
this.$sb.getScript('https://cdnjs.cloudflare.com/ajax/libs/uikit/3.1.7/js/uikit-core.min.js');
this.$nextTick(() => {
this.padding = this.model.padding;
this.margin = this.model.margin;
})
},
class PagesController < ApplicationController
def index
response.headers['X-FRAME-OPTIONS'] = 'ALLOWALL'
client = Storyblok::Client.new(
logger: logger,
cache_version: Time.now.to_i,
token: 'Dv2ok3DqODzzb8QUuN2XCgtt',
version: 'draft'
)