Skip to content

Instantly share code, notes, and snippets.

Mark Carver markcarver

Block or report user

Report or block markcarver

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View item-list-empty.php
<?php
$items = array();
$build['list'] = array(
'#theme' => 'item_list',
'#items' => $items,
'#empty' => t('You have no content, please <a href="!link">create some</a>.', array(
'!link' => 'node/add',
),
@markcarver
markcarver / stark2.theme.php
Created Jul 8, 2014
Adding external/inline resources via #attached in a Drupal 8 theme
View stark2.theme.php
<?php
/**
* @file
* Example of how to attach external and inline resources for a theme via the
* #attached render array method in 8.x.
*/
/**
* Helper function for attaching resources to a render array.
*/
View classes.twig
{% attributes.class.add([
'node',
'node--type-' ~ node.bundle|class,
node.promoted ? 'node--promoted',
node.sticky ? 'node--sticky',
not node.published ? 'node--unpublished',
preview ? 'node--preview',
'node--view-mode-' ~ view_mode|class
]).remove([
'some-module-class'
View 1-issue.comments.alter.js
/**
* THIS FILE ALTERS ANY ISSUE WITH THE NEW STYLING. IT AUTOMATICALLY INCLUDES THE CSS FILE
* BELOW. JUST COPY AND PASTE THIS IN YOUR INSPECTOR CONSOLE.
**/
(function ($) {
var localStorageSupported = false;
var enableTimeago = false;
// Only enable timago if user's browser has localStorage support (so they can
// double click to enable and disable at will).
if (typeof window.localStorage !== 'undefined') {
View theme.php
<?php
return array(
'#theme' => 'table__forum_list',
'#theme_wrappers' => array('container__suggestion'),
'#attributes' => array(
'class' => array('extra-class', 'even-more-classes'),
'id' => 'i-am-unique',
'data-toggle' => 'tooltip',
),
@markcarver
markcarver / post-commit
Last active Dec 22, 2015
Drupal project post commit (copies thanks and commit link to pasteboard). Follow instructions at https://coderwall.com/p/jp7d5q
View post-commit
#!/bin/sh
# Ensure repo is hosted on drupal.org.
repoRemote=`git remote -v | grep push | perl -lne 'print $& if /git\.drupal\.org[:\/]project\/[^.]*/'`;
if [ ! -z "${repoRemote}" ]; then
# Extract the project and commit info.
project=`echo "${repoRemote}" | sed -e 's/git\.drupal\.org[:\/]//'`;
commitHash=`git log -n 1 --pretty=format:"%h"`;
commitName=`git log -n 1 --pretty=format:"%cn"`;
commitMessage=`git log -n 1 --pretty=format:"%B"`;
@markcarver
markcarver / theme.php
Last active Dec 20, 2015
Here's my "vision" on seeing the potential of what the theme system _could_ be.
View theme.php
<?php
// We implment something like hook_element_info() for themes.
// In theory, this identical to hook_theme(), but doesn't require
// a registry.
function system_theme_info() {
$info['foo_bar'] = array(
'variables' => array('title' => NULL, 'content' => NULL),
'context' => array('conditional_switch' => FALSE),
// Blah blah blah, rest of hook code.
View module.module
<?php
function MODULE_form_alter(&$form, $form_state, $form_id) {
if (!empty($form['#node'] && !empty($form['#node_edit_form'])) {
$node = $form['#node'];
$action = in_array('add', args()) ? t('Create new') : t('Edit existing');
switch ($node->type) {
case 'article': drupal_set_title(t('!action basic article', array('!action' => $action))); break;
case 'blog': drupal_set_title(t('!action blog article', array('!action' => $action))); break;
case 'audio': drupal_set_title(t('!action audio conent', array('!action' => $action))); break;
@markcarver
markcarver / perm.sh
Created Jul 21, 2013
Change the ownership settings according to how your www environment is setup.
View perm.sh
#!/bin/bash
echo 'Setting ownership to _www:staff ...';
sudo chown -R _www:staff ./;
echo 'Setting directory permissions to 0755 ...';
sudo find . -type d -exec chmod u=rwx,g=rwx,o=rx '{}' \;
echo 'Setting file permissions to 0644 ...';
sudo find . -type f -exec chmod u=rw,g=rw,o=r '{}' \;
@markcarver
markcarver / d8-reset.sh
Created Jul 21, 2013
Deletes settings.php, removes the php config dir, drops and creates the database table.
View d8-reset.sh
#!/bin/bash
sudo rm -rf /sandbox/sites/d8.sandbox/sites/default/settings.php;
sudo rm -rf /sandbox/sites/d8.sandbox/sites/default/files/php/;
mysql -u root -proot -e 'DROP DATABASE `d8.sandbox`; CREATE DATABASE `d8.sandbox`;'
You can’t perform that action at this time.