Drupal 8 content type, view, block, twig notes

Large general tutorial video making a directory with content types and views:

PathAuto module information. For helping to make more readable URLs

Using Entity References in Views – Great overview of using entity references.

Drupal 8 theme twig template file reference. Includes various naming conventions for pages, views, blocks, nodes, etc.

Tulane Libraries Journals 2019

The Tulane Library uses and open source application called OJS. This is an application that uses PHP with a MariaDB database along with HTML, CSS, and JavaScript to create a system for peer review journals. For this website I created a theme, modified some functionality, and performed DevOps assistance to upgrade and maintain the system.

Nicholls State University website 2015-2019

The Nicholls State University website has been a project of continuous iteration and enhancements. The 2015 redesign project was no exception with a WordPress theme based on the Underscore(_S) starter theme using Sass to organize and simplify complex CSS techniques and customized PHP to create useful tools to communicate with visitors. Some of the custom applications include the homepage calendar feed that actually uses the Google Calendar API which allowed non-technical web editors to help update events using the calendar system they were already using as part of their daily duties.

This website was designed to be responsive based on screen size allowing the site to be useful with multiple devices. During this projects development around 60% of the visitors were using either phones or tablets when interacting with website.

NPM and Yeoman update/install notes for MacOS

Had to deal with some issues introduced by bad homebrew installations and possible old NPM installs. My guess is that I probably cheated/screwed up using a sudo install when I should have done something different.

This all started playing with the WebDevStudions WordPress plugin generator for yeoman.

Get a Plugin Kickstart with Yeoman & generator-plugin-wp!

This gist was very helpful – Fixing npm On Mac OS X for Homebrew Users

READ THIS Very Important Update

This entire guide is based on an old version of Homebrew/Node and no longer applies. It was only ever intended to fix a specific error message which has since been fixed. I’ve kept it here for historical purposes, but it should no longer be used. Homebrew maintainers have fixed things and the options mentioned don’t exist and won’t work.

I still believe it is better to manually install npm separately since having a generic package manager maintain another package manager is a bad idea, but the instructions below don’t explain how to do that.

Fixing npm On Mac OS X for Homebrew Users

Installing node through Homebrew can cause problems with npm for globally installed packages. To fix it quickly, use the solution below. An explanation is also included at the end of this document.


This solution fixes the error caused by trying to run npm update npm -g. Once you’re finished, you also won’t need to use sudo to install npm modules globally.

Before you start, make a note of any globally installed npm packages. These instructions will have you remove all of those packages. After you’re finished you’ll need to re-install them.

Run the following commands to remove all existing global npm modules, uninstall node & npm, re-install node with the correct defaults, configure the location for global npm modules to be installed, and then install npm as its own pacakge.

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

Node and npm should be correctly installed at this point. The final step is to add ~/.npm-packages/bin to your PATH so npm and global npm packages are usable. To do this, add the following line to your ~/.bash_profile:

export PATH="$HOME/.npm-packages/bin:$PATH"

Now you can re-install any global npm packages you need without any problems.

Explanation of the issue

If you’re a Homebrew user and you installed node via Homebrew, there is a major philosophical issue with the way Homebrew and NPM work together. If you install node with Homebrew and then try to do npm update npm -g, you may see an error like this:

$ npm update npm -g
npm http GET https://registry.npmjs.org/npm
npm http 304 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/1.4.4
npm http 304 https://registry.npmjs.org/npm/1.4.4
npm ERR! error rolling back Error: Refusing to delete: /usr/local/bin/npm not in /usr/local/lib/node_modules/npm
npm ERR! error rolling back     at clobberFail (/usr/local/Cellar/node/0.10.26/lib/node_modules/npm/lib/utils/gently-rm.js:57:12)
npm ERR! error rolling back     at next (/usr/local/Cellar/node/0.10.26/lib/node_modules/npm/lib/utils/gently-rm.js:43:14)
npm ERR! error rolling back     at /usr/local/Cellar/node/0.10.26/lib/node_modules/npm/lib/utils/gently-rm.js:52:12
npm ERR! error rolling back     at Object.oncomplete (fs.js:107:15)
npm ERR! error rolling back  npm@1.4.4 { [Error: Refusing to delete: /usr/local/bin/npm not in /usr/local/lib/node_modules/npm] code: 'EEXIST', path: '/usr/local/bin/npm' }
npm ERR! Refusing to delete: /usr/local/bin/npm not in /usr/local/lib/node_modules/npm
File exists: /usr/local/bin/npm
Move it away, and try again. 

npm ERR! System Darwin 13.1.0
npm ERR! command "/usr/local/Cellar/node/0.10.26/bin/node" "/usr/local/bin/npm" "update" "npm" "-g"
npm ERR! cwd /Users/dan/Google Drive/Projects/dotfiles
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path /usr/local/bin/npm
npm ERR! code EEXIST
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/dan/Google Drive/Projects/dotfiles/npm-debug.log
npm ERR! not ok code 0

There’s an NPM bug for this exact problem. The bug has been “fixed” by Homebrew installing npm in a way that allows it to manage itself once the install is complete. However, this is error-prone and still seems to cause problems for some people. The root of the the issue is really that npm is its own package manager and it is therefore better to have npm manage itself and its packages completely on its own instead of letting Homebrew do it.

Also, using the Homebrew installation of npm will require you to use sudo when installing global packages. Since one of the core ideas behind Homebrew is that apps can be installed without giving them root access, this is a bad idea.

view raw
hosted with ❤ by GitHub

Another strange issue was caused by installing the generator-plugin-wp yoeman generator on a broken yeoman/npm system. This posted github issue helped. https://github.com/npm/npm/issues/10995 This needed a straightforward uninstall, cache clear, and reinstall. I may have reintialized my terminal sessions to drop out of sudo mode. It looked something like:

$ sudo npm remove -g yo generator-plugin-wp
$ npm cache clean
— can’t remember if I relaunched terminal to drop out of sudo mode.
$ npm install -g generator-plugin-wp

I’ll be testing this yeoman generator on the side for a while: https://github.com/WebDevStudios/generator-plugin-wp

Possum Wasp

So last night I attempted to fight off an urban possum with a can of wasp spray. It was all I had and the possum didn’t exactly run off and instead walked away sort of angry looking. Now if my poor choice of weaponry caused some angry mutation in downtown Houma you have my apologies.