- maim
- xclip
Set this on your i3 config file ~/.i3/config
# Screenshots
<%= form_with(model: billboard) do |form| %> | |
<%= tag.div class: "dropzone", data: { controller: "dropzone", dropzone_param_name_value: "billboard[images][]", dropzone_url_value: rails_direct_uploads_url, dropzone_accepted_files_value: "image/*", dropzone_max_files_value: 3, dropzone_max_filesize_value: 0.300 } do %> | |
<div class="dz-default dz-message flex flex-col items-center"> | |
<%= image_tag "upload.svg", size: 28, class: "colorize-black", aria: { hidden: true } %> | |
<h5 class="font-semibold mbs-4">Drop files here or click to upload.</h5> | |
<p class="text-sm text-subtle">Upload up to 10 files.</p> | |
</div> | |
<% end %> | |
<div class="inline-flex items-center mbs-2 mie-1"> |
import { useEffect, useState } from "react" | |
import { createBrowserHistory } from "history" | |
const history = createBrowserHistory() | |
const toLocation = path => new URL(path, window.location.href) | |
// without this react won't re-render as location is the same object | |
// @see https://reactjs.org/docs/hooks-reference.html#bailing-out-of-a-state-update | |
const cloneLocation = () => Object.assign({}, window.location) |
# frozen_string_literal: true | |
# Use this setup block to configure all options available in SimpleForm. | |
SimpleForm.setup do |config| | |
# Default class for buttons | |
config.button_class = "button" | |
# Define the default class of the input wrapper of the boolean input. | |
config.boolean_label_class = "checkbox" |
import React, { Component } from "react"; | |
import get from "utils/get"; | |
// Use extend ContainerBase in your Route Containers and use | |
// the provided lifecycle hooks to load data. This way you'll | |
// have a predictable edge to know when data is loaded for your | |
// Route - super useful for serverside rendering your app! | |
class ContainerBase extends Component { | |
state = { |
Vue events don't bubble the component tree on their own. However when writing wrapper components this can be the desired behaviour.
This code registers a global bubble
directive which allows to re-emit all given events:
Let's say we want to bubble events start
, accelerate
and brake
of our component Car
.
Without any help, we'd roughly have to do this:
This is not a getting started guide, just notes to myself. Due to my limited knowledge there could be mistakes and better ways to do things. I have configured aurutils
to the best of my knowledge after reading the manpages and forums. Please refer to aurutils(7) manpages for installation and configuration.
Reference: aurutils(7)
Install the aurutils
using the normal AUR package installation procedure. Until I found aurutils
, I used to create a separate directory ~/aur/
for all AUR packages.
yarn install
ember install ember-cli-eslint@4
// ember-cli-build.js
let app = new EmberApp(defaults, {
eslint: {
testGenerator: 'qunit',
group: true,
rulesDir: 'eslint-rules',
extensions: ['js'],
Sometimes you need to use API Keys to use things like the Speech API. And then you Google a bit and follow all the instructions. But the Chromium Project's API Keys page does a not-so-great of explaining how to do this, so I will.
Google API Keys are missing. Some functionality of Chromium will be disabled.
Learn More
.<nav className='navbar'> | |
{ | |
userRole === 'admin' && ( | |
<AdminPanel /> | |
) || userRole === 'user' && ( | |
<UserPanel /> | |
) || ( | |
<StatusPanel /> | |
) | |
} |