Before getting into the matter, I wanted to set the stage. We are essentially going to talk about three things today.
- The context of digital design
- Problematic static design deliverables
- Design deliverables and the current digital workflow
{!-- List last 3 news (blocking the <li></li> together is mandatory due to using inline-block) --} | |
{exp:channel:entries channel="news" disable="categories|category_fields|member_data|pagination|trackbacks" status="open" orderby="date" sort="desc" dynamic="no" limit="3"} | |
{if count == 1}<ul><li>{/if} | |
<article> | |
<h3><a href="{url_title_path='news-press/index'}">{title}</a></h3> | |
<p>{exp:eehive_hacksaw words="30" append="…"}{cf_news_summary}{/exp:eehive_hacksaw}</p> | |
</article> | |
{if count == total_results}</li></ul>{if:else}</li><li>{/if} |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | |
/* | |
|-------------------------------------------------------------------------- | |
| ExpressionEngine Config Items | |
|-------------------------------------------------------------------------- | |
| | |
| The following items are for use with ExpressionEngine. The rest of | |
| the config items are for use with CodeIgniter. | |
| |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | |
require "config.php"; | |
/* End of file database.php */ | |
/* Location: ./system/expressionengine/config/database.php */ |
// Load plugins | |
var gulp = require('gulp'), | |
sass = require('gulp-ruby-sass'), | |
autoprefixer = require('gulp-autoprefixer'), | |
jshint = require('gulp-jshint'), | |
uglify = require('gulp-uglify'), | |
rename = require('gulp-rename'), | |
concat = require('gulp-concat'), | |
notify = require('gulp-notify'), | |
minifycss = require('gulp-minify-css'); |
Before getting into the matter, I wanted to set the stage. We are essentially going to talk about three things today.
{% extends "_layouts/default" %} | |
{% block content %} | |
{# | |
Tackling discontinuous events without duplication | |
- Each event has a 'startDate' and an 'endDate' (those are just a date interval, the first date corresponds the the first occurrence of the event and the mast one corresponds to the last occurence of the events). This matching is done manually but we could also use the preparse plugin. | |
- Each event has got a matrix field 'timetable' with just a block 'mxBlockDate' and date field 'mxDate' for each occurence of the event |
{% extends "_layouts/default" %} | |
{% block content %} | |
{# | |
I have to build an event heavy website | |
1. Events can have one or more dates | |
Duplicating events for multiple dates makes no sense |
{% extends "_layouts/default" %} | |
{% block content %} | |
{# | |
Events just have a Matrix fields with multiple dates. | |
The goal is to get all dates within a certain date range, ordered by date asc | |
All event details should be repeated when an event occurs at multiple dates | |
Events are presented in a calendar view and should only appear for a given day if they have | |
a corresponding occurence on that day. |
This contract is not meant to trick or deceive you; the intention is purely to protect both parties. I have tried to keep the wording as plain as possible, but if anything is unclear, please let me know and I will be more than happy to clarify it with you. Also, until you sign it, please feel free to request to change bits of it to suit your requirements.
In short, [client name] is contracting me, [my name], to [description of my role] between [start date and finish date].
By signing this, you are confirming that you have the power and ability to enter into this contract on behalf of [client's company].
# Only use spaces to indent your .yml configuration. | |
# $SSH_USER $ROOT_PATH $SSH_IP:$SSH_PATH are environment variables | |
# image | |
image: node:latest | |
# pipelines | |
pipelines: | |
default: | |
- step: |