Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Stay home

Guillaume Chau Akryum

🏠
Stay home
View GitHub Profile
@Akryum
Akryum / format-object.js
Created Jan 13, 2021
Format a JS object or array to JavaScript source code string
View format-object.js
const KEY_ESCAPE_REG = /[\s-.:|#@$£*%]/
const MAX_SINGLE_LINE_ARRAY_LENGTH = 3
export function formatObjectToSource (obj) {
return printLines(Array.isArray(obj) ? arrayToSourceLines(obj) : objectToSourceLines(obj))
}
function objectToSourceLines (object, indentCount = 0) {
return createLines(indentCount, lines => {
lines.push('{')
@Akryum
Akryum / responsive-menu.html
Created Jan 6, 2021
Tailwind negate responsive breakpoints
View responsive-menu.html
<div class="flex !md:flex-col items-center !md:space-y-6 md:space-x-6">
<button>Menu button 1</button>
<button>Menu button 2</button>
<button>Menu button 3</button>
</div>
View file-chooser.vbs
Option Explicit
WScript.Echo ChooseFile( )
Function ChooseFile( )
' Select File dialog based on a script by Mayayana
' Known issues:
' * Tree view always opens Desktop folder
' * In Win7/IE8 only the file NAME is returned correctly, the path returned will always be C:\fakepath\
@Akryum
Akryum / List.vue
Created Dec 15, 2019
Vue - onScrollBottom composable function
View List.vue
<script>
import { ref } from '@vue/composition-api'
import { onScrollBottom } from '@/scroll'
export default {
setup () {
function loadMore () {
// ...
}
@Akryum
Akryum / example.js
Last active Oct 18, 2019
Vue Router - Navigate to parent named route
View example.js
export default {
const parents = getNamedParents(this.$router.options.routes, this.$route.matched)
if (parents.length) {
return {
name: parents[parents.length - 1].name,
}
}
return { name: 'home' }
}
View App.vue
<template>
<div id="app">
<RouteController />
<nav>...</nav>
<router-view/>
</div>
</template>
@Akryum
Akryum / FileExplorer.vue
Last active Nov 25, 2019
Example of migration to Vue Function-based Component API
View FileExplorer.vue
<script>
import { isValidMultiName } from '@/util/folders'
import FOLDER_CURRENT from '@/graphql/folder/folderCurrent.gql'
import FOLDERS_FAVORITE from '@/graphql/folder/foldersFavorite.gql'
import FOLDER_OPEN from '@/graphql/folder/folderOpen.gql'
import FOLDER_OPEN_PARENT from '@/graphql/folder/folderOpenParent.gql'
import FOLDER_SET_FAVORITE from '@/graphql/folder/folderSetFavorite.gql'
import PROJECT_CWD_RESET from '@/graphql/project/projectCwdReset.gql'
import FOLDER_CREATE from '@/graphql/folder/folderCreate.gql'
View FileExplorer.vue
<script>
import { isValidMultiName } from '@/util/folders'
import FOLDER_CURRENT from '@/graphql/folder/folderCurrent.gql'
import FOLDERS_FAVORITE from '@/graphql/folder/foldersFavorite.gql'
import FOLDER_OPEN from '@/graphql/folder/folderOpen.gql'
import FOLDER_OPEN_PARENT from '@/graphql/folder/folderOpenParent.gql'
import FOLDER_SET_FAVORITE from '@/graphql/folder/folderSetFavorite.gql'
import PROJECT_CWD_RESET from '@/graphql/project/projectCwdReset.gql'
import FOLDER_CREATE from '@/graphql/folder/folderCreate.gql'
View case.ts
import Case from 'case'
const originalToString = Object.prototype.toString
function isPlainObject (obj: any): boolean {
return originalToString.call(obj) === '[object Object]'
}
export function toCamel (data: any): any {
if (Array.isArray(data)) {
View highlight.js
import Prism from 'prismjs'
import loadLanguages from 'prismjs/components/index.js'
import path from 'path'
loadLanguages()
const languages = [
{ test: /\.(html|vue|xml)$/, lang: 'markup' },
{ test: /\.js$/, lang: 'javascript' },
{ test: /\.sh$/, lang: 'bash' },
You can’t perform that action at this time.