Skip to content

Instantly share code, notes, and snippets.

🟢

pooya parsa pi0

🟢
View GitHub Profile
View nuxt-functins.md

Nuxt functions implementation specs

Initial RFC: https://github.com/nuxt/rfcs/issues/35

This is a Draft

Introducing a functions/ directory could have a powerful effect for users that want to add server functions but without having to go through serverMiddleware Functions can be also provided by Nuxt modules, for example, CMS module or auth provider can add it's functionalities to the user context.

Usage

@pi0
pi0 / cms.vue
Last active Mar 6, 2020
Vue Universal Runtime Compile
View cms.vue
<template>
<div>
<component :is="CMSComponent" :x="x" />
<button @click="x++">
Click on me
</button>
</div>
</template>
<script>
@pi0
pi0 / WikipediaDump.md
Last active Feb 27, 2020
A Dummy Way to Extract Clean Wikipedia Contents
View WikipediaDump.md

Dump Wikipedia

  • Go to https://dumps.wikimedia.org/backup-index.html
  • Go to language and download -pages-meta-current.xml.bz2 version
  • Extract
  • Flatten with pv file.xml | xml2 > file.flat
  • Exrtract text with pv file.flat| grep -oP "(?<=^/mediawiki/page/revision/text=).*" > file.txt
  • Clean with pv fawiki-20200220-pages-articles.txt | node clean.js
  • Enjoy using out.txt
@pi0
pi0 / README.md
Last active May 5, 2020
doNotTrack polyFill
View README.md

Tiny (230 char) Polyfill for window.doNotTrack. Checks for:

  • window.doNotTrack == 1
  • navigator.doNotTrack == 'yes'
  • navigator.doNotTrack == 1
  • navigator.msDoNotTrack == 1'
  • window.external.msTrackingProtectionEnabled()

And sets value to either 1 (do not track) or 0 (track)

@pi0
pi0 / git_commit.js
Last active Nov 18, 2019
Get git commit in one line!
View git_commit.js
const gitCommit = process.env.GIT_COMMIT || require('child_process')
.spawnSync('git', ['rev-parse', '--short', 'HEAD'], { encoding: 'utf8' })
.stdout.slice(0, -1)
console.log(gitCommit)
View vscode.json5
{
// Editor
"diffEditor.renderSideBySide": true,
"editor.fontFamily": "Anonymous, InputMono, Menlo, Monaco, 'Courier New', monospace",
"editor.find.autoFindInSelection": true,
"editor.fontLigatures": true,
"editor.formatOnSave": false,
"editor.formatOnType": true,
"editor.formatOnPaste": true,
View hotel.js
function substractIdArrays(a, b) {
return a.filter(x => !b.find(y => y + '' === x + ''))
}
async function updateArea(areaCode) {
const area = await Area.findOne({ areaCode })
const associatedHotels = await Hotel.find({ areaCode }).then(hotels => hotels.map(h => h._id))
const hotelsInArea = await Hotel.find({
@pi0
pi0 / clean-node-modules.sh
Last active May 26, 2019
Clean all `node_modules` to save disk space
View clean-node-modules.sh
for d in `find -name node_modules -type d` ; do [ -d "$d" ] && echo "$d" && rm -rf "$d" ; done
View global-keep-alive.js
const Agent = require('agentkeepalive')
require('http').globalAgent = new Agent()
require('https').globalAgent = new Agent.HttpsAgent()
View options.json5
{
// Editor
"diffEditor.renderSideBySide": true,
"editor.fontFamily": "Anonymous, InputMono, Menlo, Monaco, 'Courier New', monospace",
"editor.find.autoFindInSelection": true,
"editor.fontLigatures": true,
"editor.formatOnSave": false,
"editor.formatOnType": true,
"editor.formatOnPaste": true,
You can’t perform that action at this time.