Code Monkey home page Code Monkey logo

hueman-7l-child's Introduction

Hueman 7L Wordpress Child Theme

A hueman child theme for the wordpress installation of the ecovillage Sieben Linden (siebenlinden.org).

Authored by Felix Wolfsteller, Copyright 2016, 2017, 2018, 2019, 2020, 2021, 2022 released under the GPLv3+. Original content in seminardesk-wordpress-custom is Copyright 2020 SeminarDesk โ€“ Danker, Smaluhn & Tammen GbR .

See a list of contributors here.

The ecovillage hosts a range of educational seminars and events, prior to 2021 these were managed using a self built application, where event data was pushed to wordpress and handled with the with custom wordpress plugin ev7l-events .

In 2020 the decision was done to switch to a proprietary, non-visionary un-community ( :( ) solution, which uses a different plugin.

The original and awesome Presscustomizr hueman theme source can also be found at github.

Installation

Fit to be used with the github updater plugin.

Files Included

single-ev7l-event.php

View of a single event.

archive-ev7l-event.php

View list of events (this could become the calendar).

sd-facilitators-list.php

A template to be used (create a page with this template) to show alphabetically sorted referees. Because seminardesk-wordpress plugin overrides archive generation.

single-ev7l-event-category.php

View of a single event category (listing events).

single-ev7l-referee.php

View of a single referee (listing events).

page.php

Standard page, with heading above image.

page-calendar.php

Calendar page, if needed. In order for it to work, you'll need a page called ... 'calendar'.

content-featured-custom.php

For 'featured-news-slider' (used by shortcode), do not display the category. Derived from content-featured.php (vanilla hueman 3.3.4).

parts/single-author-date.php

Overwritten from vanilla hueman (3.3.4) - do not display author and date in 'betrieb' single view.

parts/post-list-author-date.php

Overwritten from vanilla hueman (3.3.4) - do not display author and date in 'betrieb' archive view.

parts/event_list_alx.php

Partial for the event list in sidebar, widget style.

content.php

Overwritten from vanilla hueman (3.3.4) - do not category if about in a 'betrieb' post (over)view.

style.css

Main css overrides and new definitions.

functions.php

Enough emptiness for everybody. Now, things start to happen here.

parts/registration.php

Registration form, mailer and logic, integrated into legacy system.

seminardesk-custom/*

Template files overridden from plugin for proprietary event booking solution.

includes/SDTemplateUtils.php

Helpers for the proprietary solution.

includes/shortcodes.php

Helpers for the proprietary solution.

Provided shortcodes

  • [featured_news]
  • [upcoming_events] (currently in sidebar)
  • [h7lc_sd_upcoming_events] (for sidebar)
  • [pages_list]
  • [event_calendar] use like [event_calendar]. Optional arguments are year(="2019") and month(="11"). Will render an unsorted list, with elements in parts/event_list_line.
  • [event_calendar_this_year_past]
  • [event_calendar_this_year_upcoming]
  • [event_registration_form] (eventuuid)
  • [sd_booking_button event_uuid='...'] to display a booking button that triggers the modal (style and js inline).

To find the uuid of an SD-event, while being logged in, browse to its page, click on "edit event" and scroll down to find the sd_event_id metadata.

... to be explained

About registrations

Prior to 2021

Will be put in pseudo-randomly named files (for legacy database, json import) in the registrations subdirectory of your wordpress home base. You should put a .htaccess file there and instruct your webserver to not let anybody come close to that data.

[featured_news]

Shows a flexslider running through latest posts of the 'news' category.

[upcoming_events]

Shows an 'alx' style list of upcoming events, much like in the sidebar widget of the ev7l-events plugin.

[pages_list]

Shows child pages of a certain page as in the two-column post list. Example: [pages_list parent_name="My Parent Page Title"]

screenshot.png

Backend theme listing image.

Handling of other plugins

Currently, post types from the podlove and seminardesk plugins are handled.

Hueman settings at siebenlinden.org

Global Settings -> Identity -> Display Logo (X), max-height: 145 Global Settings -> Identity -> no tagline Global Settings -> General Design -> Sidebar Padding for Widgets: 20px Global Settings -> General Design -> Primary color #c9d30e Global Settings -> General Design -> Secondary color #f29400 Global Settings -> General Design -> Topbar Background : #cad133 Global Settings -> General Design -> Header Background : #f5f5f5 Comments -> Posts and Pages Header -> Header Menu -> no default Header -> Design -> no tagline Content -> Front page: static

Footer -> Credit Text

Blog design and content not available in all versions.

Update to match upstream stable hueman theme

The original Presscustomizr hueman theme (source) still receives updates (as of late 2019). To integrate changes and fixes, this Child Theme has to be updated every once in a while.

The process is yet unclear and a WIP, relevant scripts might be placed in a runbook at https://github.com/ecovillage/operations .

WIP doc

The "current" version of the upstream Hueman (the "parent") theme that this child theme is based on needs to be know. For now, its placed in HUEMAN_BASE_VERION

  • we need to know which files are based of which parent files:
    • get list of files git ls-files | sort > FILES
  • add a sorted list of files that are included but independent of parent version
    • (FILES.ignore)
  • also CSS rules need to be checked

Update translations

Most texts are translatable (for translations, look in the languages folder).

Graphically: Use poedit

  • poedit
  • (Initial setup) File > Catalog Manager > New : Project Name = hueman-child-7l; Directories = Browse
  • File > Catalogs Manager > Update all
  • (edit)
  • Save and Update

For you:

  • to update the compiled catalog: msgfmt catalog.po -o catalog.mo (for ubuntu/debian: in gettext package).
  • in the concrete example: msgfmt de_DE.po -o de_DE.mo

Resources

Looking for the Hierarchy?

wphierarchy comes in handy sometimes.

Debugging

Because I always forget how to

In wp-config.php

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
  • Then use error_log to write to the default debug file (wp-content/debug.log).
  • Use json_encode() to get a JSON representation of a complicated object.
  • Or use print_r to print datastructures
  • Also var_dump comes helpful for variables / datastructures.

Release

  • Change version in style.css and commit
  • git tag -a VERSION -m VERSION
  • git push && git push --tags

That means, the releases are tags in git (typical setup).

License

Authored by Felix Wolfsteller, Copyright 2016, 2017, 2018, 2019, 2020 released under the GPLv3+. Original content in seminardesk-wordpress-custom is Copyright 2020 SeminarDesk โ€“ Danker, Smaluhn & Tammen GbR .

hueman-7l-child's People

Contributors

fwolfst avatar libengine avatar tr33bug avatar

Watchers

 avatar  avatar  avatar

Forkers

js32

hueman-7l-child's Issues

Show sub-menus on mobile collapsed by default

Issue:

Sub-menus on mobile are expanded by default which hinders scrolling and accessing certain menu entries.

Expected behavior:

Sub-menus should be collapsed by default.

Steps to reproduce:

Access site on mobile device ;)

Possible solution:

Implement something like this or update Human Theme to v3.3.8+

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.