Thanks to the original blog post: https://equimper.com/blog/how-to-setup-tailwindcss-in-phoenix-1.4
cd assets
npm i --save-dev tailwindcss postcss-loader postcss-import
| # Preloading usually required an extra query. | |
| # To do it in one query, a `join` is needed, and the call to `preload` needs to know the name of join | |
| # This macro does both the `join` and `preload` together | |
| defmodule Preloader do | |
| import Ecto, only: [assoc: 2] | |
| alias Ecto.Query.Builder.{Join, Preload} | |
| defmacro preload_join(query, association) do | |
| expr = quote do: assoc(l, unquote(association)) | |
| binding = quote do: [l] |
Thanks to the original blog post: https://equimper.com/blog/how-to-setup-tailwindcss-in-phoenix-1.4
cd assets
npm i --save-dev tailwindcss postcss-loader postcss-import
| #! /bin/bash | |
| set -euo pipefail | |
| # This script will remove automatic association for all networks not listed in the whitelist | |
| # passed as the first argument. Passwords will NOT be removed from the Keychain. | |
| # | |
| # Alternatively, you can untick "Remember networks" in Network Preferences > Wi-Fi > Advanced, | |
| # but then you won't be able to auto-join networks even temporarily, and you might already | |
| # have a long list to go through. | |
| # |
| function createStore (reducers) { | |
| var state = reducers() | |
| const store = { | |
| dispatch: (action) => { | |
| state = reducers(state, action) | |
| }, | |
| getState: () => { | |
| return state | |
| } | |
| } |
| How to convert existing phoenix app to an umbrella app. | |
| https://elixir-lang.slack.com/archives/phoenix/p1472921051000134 | |
| chrismccord [10:14 PM] | |
| @alanpeabody yes, it's straightforward | |
| [10:14] | |
| 1) mix new my_umbrella --umbrella |
This is what the [official documentation][1] says about the terminate/2 callback for a gen_server:
This function is called by a gen_server when it is about to terminate. It should be the opposite of Module:init/1 and do any necessary cleaning up. When it returns, the gen_server terminates with Reason. The return value is ignored.
Reason is a term denoting the stop reason and State is the internal state of the gen_server.
Reason depends on why the gen_server is terminating. If it is because another callback function has returned a stop tuple {stop,..}, Reason will have the value specified in that tuple. If it is due to a failure, Reason is the error reason.
| [aaron@TC omglolwut (master)]$ cat lib/tasks/disable_autoload_during_migrations.rake | |
| task :disable_autoload do | |
| ActiveSupport::Dependencies.class_eval do | |
| extend Module.new { | |
| def load_file(path, const_paths = loadable_constants_for_path(path)) | |
| return if path.starts_with? File.join(Rails.application.root, 'app', 'models') | |
| super | |
| end | |
| } | |
| end |
| Map | Action |
|---|---|
| <F1> | Causes Netrw to issue help |
| <cr> | Netrw will enter the directory or read the file |
| <del> | Netrw will attempt to remove the file/directory |
| - | Makes Netrw go up one directory |
| a | Toggles between normal display, hiding (suppress display of files matching g:netrw_list_hide) showing (display only files which match g:netrw_list_hide) |
| c | Make browsing directory the current directory |
| C | Setting the editing window |
| d | Make a directory |
| #!/bin/bash | |
| # | |
| # DROPKICK.SH | |
| # | |
| # Detect and Disconnect the DropCam and Withings devices some people are using to | |
| # spy on guests in their home, especially in AirBnB rentals. Based on Glasshole.sh: | |
| # | |
| # http://julianoliver.com/output/log_2014-05-30_20-52 | |
| # | |
| # This script was named by Adam Harvey (http://ahprojects.com), who also |