Wherever you are initialising the FontAwesome library:
import { library } from '@fortawesome/fontawesome-svg-core';
import faTheName from 'custom-icon';
...
| // If you have multiple rules in your workflow that need to update token data. | |
| function (user, context, callback) { | |
| user.app_metadata = user.app_metadata || {}; | |
| const token_namespace = 'https://your-domain.com/app_metadata'; | |
| // assumes your metadata object is shallow | |
| const addCustomerId = stripe_customer_id => ({ | |
| ...context.idToken[token_namespace], |
| # YMMV | |
| from django.conf import settings | |
| from django.contrib.auth.models import Group, Permission | |
| from django.core.management.sql import emit_post_migrate_signal | |
| from django.db import migrations, models | |
| import django.db.models.deletion | |
| import logging | |
You have access control on views, but you also want to apply the same checks in templates in a maintainable way.
This kicked off my solution: https://stackoverflow.com/questions/43904784/reuse-the-decorator-of-a-view-from-a-template
| """ | |
| Check out STEAM Powered (https://steampoweredshow.com/) where I have conversations | |
| with women in STEAM to learn a bit about what they do and who they are. | |
| https://steampoweredshow.com/learn-more/ | |
| """ | |
| """ | |
| Requirements | |
| ************ |
| # Source: https://github.com/yourlabs/django-autocomplete-light/blob/master/test_project/select2_generic_foreign_key/admin.py | |
| import json | |
| from django.contrib import admin | |
| from django.contrib.admin.options import IS_POPUP_VAR, TO_FIELD_VAR | |
| from django.contrib.contenttypes.models import ContentType | |
| from django.template.response import TemplateResponse | |
| from .forms import TForm |
| ### | |
| # WARNING: This config is for development use only. | |
| # | |
| # It was created using https://slurm.schedmd.com/configurator.html and modified | |
| # enough for use on Docker kaldiasr/kaldi with slurm 16.05.9-1+deb9u. | |
| # | |
| # slurm < 20.02.7 is no longer available due to a security vulnerability. | |
| # See: https://www.schedmd.com/archives.php | |
| # Get the latest version and use the configurator from there. | |
| ### |
| const visit = require(`unist-util-visit`); | |
| const remove = require(`unist-util-remove`); | |
| const HTMLParser = require('node-html-parser'); | |
| const matches = (classes, value) => { | |
| const fragment = HTMLParser.parse(value); | |
| if (!fragment.firstChild.classList) { | |
| return false; | |
| } |
| #!/bin/bash | |
| # Check out STEAM Powered (https://steampoweredshow.com/) where I have conversations | |
| # with women in STEAM to learn a bit about what they do and who they are. | |
| # https://steampoweredshow.com/learn-more/ | |
| # Usage | |
| # ===== | |
| # | |
| # Execute script in the directory containing the video and srts files, or modify to take |
| import { documentToReactComponents } from '@contentful/rich-text-react-renderer'; | |
| import { graphql } from 'gatsby'; | |
| import React from 'react'; | |
| // Custom renderer for embedded content which accepts `body` / `references` from the graphql query. | |
| // Search `references` for the embedded object ID for full access to nested content. | |
| const rendererOptions = (references) => ({ | |
| renderNode: { | |
| [BLOCKS.EMBEDDED_ASSET]: (node) => { | |
| const imageID = node.data.target.sys.id; |