(C-x means ctrl+x, M-x means alt+x)
The default prefix is C-b. If you (or your muscle memory) prefer C-a, you need to add this to ~/.tmux.conf
:
function elementInViewport2(el) { | |
var top = el.offsetTop; | |
var left = el.offsetLeft; | |
var width = el.offsetWidth; | |
var height = el.offsetHeight; | |
while(el.offsetParent) { | |
el = el.offsetParent; | |
top += el.offsetTop; | |
left += el.offsetLeft; |
const getQueryString = params => { | |
return Object.keys(params) | |
.map(k => { | |
if (Array.isArray(params[k])) { | |
return params[k] | |
.map(val => `${encodeURIComponent(k)}[]=${encodeURIComponent(val)}`) | |
.join("&"); | |
} | |
return `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`; |
import React, { Component } from "react"; | |
import { ActivityIndicator, View } from "react-native"; | |
import {StyleSheet} from 'react-native' | |
const styles = StyleSheet.create({ | |
loading: { | |
flex: 1, | |
flexDirection: "row", | |
alignItems: 'center' | |
}, |
<!-- create_normal.html :: part 4 --> | |
<script type='text/javascript'> | |
function updateElementIndex(el, prefix, ndx) { | |
var id_regex = new RegExp('(' + prefix + '-\\d+)'); | |
var replacement = prefix + '-' + ndx; | |
if ($(el).attr("for")) $(el).attr("for", $(el).attr("for").replace(id_regex, replacement)); | |
if (el.id) el.id = el.id.replace(id_regex, replacement); | |
if (el.name) el.name = el.name.replace(id_regex, replacement); | |
} |
# Uncomment the next line if you have installed wkhtmltopdf | |
# sudo apt remove wkhtmltopdf | |
cd ~ | |
# Select an appropriate link for your system (32 or 64 bit) from the page https://wkhtmltopdf.org/downloads.html and past to the next line | |
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz | |
tar xvf wkhtmltox*.tar.xz | |
sudo mv wkhtmltox/bin/wkhtmlto* /usr/bin | |
sudo apt-get install -y openssl build-essential libssl-dev libxrender-dev git-core libx11-dev libxext-dev libfontconfig1-dev libfreetype6-dev fontconfig |
--select ARRAY(select distinct unnest(array_agg(category.arr))) | |
select ARRAY(select distinct unnest(array[array[1,2,3], array[4,2,8]])) |
from django.db.models.constants import LOOKUP_SEP | |
from django.core.exceptions import FieldDoesNotExist | |
# django: check if given lookup string is valid for given model | |
def is_valid_lookup_field(model, lookup): | |
# will return first non relational field's verbose_name in lookup | |
for part in lookup.split(LOOKUP_SEP): | |
print(part) | |
try: |
class LoginRequiredMixin(object): | |
""" | |
View mixin which requires that the user is authenticated. | |
""" | |
@method_decorator(login_required) | |
def dispatch(self, request, *args, **kwargs): | |
return super(LoginRequiredMixin, self).dispatch( | |
self, request, *args, **kwargs) |
[program:myapp] | |
autostart = true | |
autorestart = true | |
command = python /home/pi/myapp.py | |
environment=SECRET_ID="secret_id",SECRET_KEY="secret_key_avoiding_%_chars" | |
stdout_logfile = /home/pi/stdout.log | |
stderr_logfile = /home/pi/stderr.log | |
startretries = 3 | |
user = pi |