Skip to content

Instantly share code, notes, and snippets.

View brianteeman's full-sized avatar
🐛
Hunting Bugs

Brian Teeman brianteeman

🐛
Hunting Bugs
View GitHub Profile
@brianteeman
brianteeman / intentionally-inaccessible.md
Created March 6, 2026 11:21 — forked from selfthinker/intentionally-inaccessible.md
Intentionally inaccessible websites

Intentionally inaccessible websites (and apps)

People make intentionally inaccessible websites for various educational purposes: training, empathy, tests, demos, etc. This lists all such websites I am aware of. Please let me know if you know of any others to be added to this list.

website explanations by license last update
Awesome Recipes (from Deque University Demo Sites) (none) Deque (none) ?
Dream Destination (from Deque University Demo Sites) (none) Deque (none) ?
Gefälscht (from Deque University Demo Sites) (none) Deque (none) ?
@brianteeman
brianteeman / features.md
Last active February 13, 2026 12:01
features.md

Managing Feature Requests for Joomla on GitHub

Objective

To create a structured, transparent, and efficient process for handling Joomla feature requests, from initial idea through evaluation, approval, and implementation, using GitHub Discussions and Issues. lumberjack

1. Feature Areas Overview

  • New Feature Ideas: Open space for all contributors to post ideas
@brianteeman
brianteeman / githubimport.sh
Last active June 19, 2025 15:38
Import csv to Joomla
#!/bin/bash
# --- CONFIGURATION ---
JOOMLA_API="https://<INSERT_DOMAIN>/api/index.php/v1/content/articles"
JOOMLA_TOKEN="<INSERT_API_TOKEN>"
CATID=24 # Change to your Joomla category ID
if [ ! -f all-contributors.csv ]; then
echo "all-contributors.csv not found in current directory."
exit 1
@brianteeman
brianteeman / github_realname.sh
Last active June 19, 2025 15:41
Github code contributors
#!/bin/bash
# github_realname.sh (no jq version)
GITHUB_TOKEN="insert_your_github_token_here"
REPO="insert_your_repo_here"
PAGES=10 # Increase if you expect more than 1000 contributors
echo '"login","name","avatar_url","html_url","contributions"' > all-contributors.csv
for page in $(seq 1 $PAGES); do

Using Bootstrap in Joomla 4

Joomla 4 introduces a modular approach for interactive components

  • What is a modular approach?
  • The functionality is broken down into individual components, files. There is no one file approach as it was with Bootstrap in Joomla 3. This was done for efficiency and performance gains (send only the code that is needed instead of delivering everything in case some page will need so component).

How to deal with Interactive components

  • Load what you need per case! There are helper functions that will help you achieve this and, it is dead easy just call the function with the appropriate arguments.
@brianteeman
brianteeman / fix_assets.py
Created June 17, 2019 23:18 — forked from alexgarel/fix_assets.py
Utility to fixe a not so broken joomla assets table. Provided all assets are there and parent_id is correct, it will recompute level, rgt and lft for all entries.
import argparse
import getpass
import sys
import mysql.connector
class AssetsFixer:
cols = ["id", "parent_id", "level", "lft", "rgt"]
@brianteeman
brianteeman / coursesexpired.php
Last active February 24, 2019 09:19 — forked from renekreijveld/clidemo_3.2.php
CLI script to unpublish classes from samuel taylor web site
<?php
/**
* @package Joomla.Cli
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* CLI script to unpublish classes from samuel taylor web site
* Put this script in the /cli folder
* Execute by php <path_to_your_joomla_root>/cli/coursesexpired.php
*/

For accessibility we need to add a caption to every table in the admin

For example

Articles

	<caption>Articles</caption>
		<thead>
		etc etc

But we also need to get the current sort setting and possibly filters (if set)

@brianteeman
brianteeman / understandable.md
Last active February 6, 2018 17:58
WCAG 2.1 - Understandable

https://www.w3.org/TR/WCAG21/#understandable

Information and the operation of user interface must be understandable.

Guideline 3.1 Readable

Make text content readable and understandable.

Word choice: use the simplest word that conveys your meaning. [1] Prefer the short word to the long. [2]

@brianteeman
brianteeman / navigation.md
Last active October 24, 2017 12:12
Testing accessible navgation strip

TEXT IN CAPS WILL BE LOCALISED

<nav role="navigation" aria-label="PAGENAVIGATION">
	<ul class="pagination-list">
		<li class="disabled">
			<a>
				<span class="icon-first" aria-hidden="true"></span>
			</a>