Commit graph

115 commits

Author SHA1 Message Date
Oliver Davies c5c774290d Include tags as hashtags for automated tweets
References #24
2020-09-04 12:31:29 +01:00
Oliver Davies 150c974040 Add a test for converting a post to a tweet
References #24
2020-09-04 12:06:51 +01:00
Oliver Davies b77c301d8c Refactor to use a short function 2020-08-28 18:01:47 +01:00
Oliver Davies 59f85f02d5 Add new dependencies to fix PostTest 2020-08-28 13:08:40 +01:00
Oliver Davies 92f1c0f84c Refactor sending posts to social media 2020-08-28 13:02:20 +01:00
Oliver Davies 59a98b8d78 Automatically re-order tags on save
Fixes #167
2020-08-28 12:56:57 +01:00
Oliver Davies 5e107b48d6 Move test class
References #203
2020-08-28 10:59:07 +01:00
Oliver Davies ffe6fe9b68 Add tests for the TalkRepository
Fixes #203
2020-08-28 10:54:19 +01:00
Oliver Davies 87a9f28991 Update prose styling for code and pre elements
Fixes #210
2020-08-24 23:02:00 +01:00
Oliver Davies 9b1a8fb3be Rename and re-organise custom modules
- Rename `opd_talks` to `opdavies_talks`
- Rename `custom` to `opdavies_blog`
2020-08-24 10:27:49 +01:00
Oliver Davies e4e898f22c Update talk next event date on cron
Run the `TalkDateUpater` service on each cron run to ensure that the
next event date for each talk is up to date.

Fixes #204
2020-08-24 02:36:04 +01:00
Oliver Davies 6d9ecd8df0 Fix the ordering for future talks
Rather than the custom event sorting plugin being based on the `created`
value, this change adds a new `field_event_date` field to the talk node
type and uses this for the sorting instead.

This commit also adds a new `TalkDateUpdater` service that extracts
either the next event date if there is a future date, or the last past
event date if there is no future date, from `field_events` for each talk
and saves it into the event date field.

For consistency, and to ensure that the results are ordered correctly,
the talk date updater converts the date from a date string (e.g.
`2020-08-24`) into a UNIX timestamp, and the timestamp is saved in the
event date field. This can be changed at a later date if needed.

The talks view has been updated to use the updated sort plugin, and the
existing tests have been updated to use the new field.

References #204
2020-08-24 02:32:45 +01:00
Oliver Davies bdf225b05d Remove unused imports 2020-08-23 22:38:30 +01:00
Oliver Davies c44990643e Set talk type for existing talks 2020-08-21 11:35:04 +01:00
Oliver Davies 70681df30f Update logo and favicon 2020-08-20 07:40:21 +01:00
Oliver Davies f7b1e41977 Update lodash 2020-08-17 18:41:44 +01:00
Oliver Davies e4595afc81 Update elliptic 2020-08-17 18:17:27 +01:00
Oliver Davies 4f18552c5a Organise tailwind.config.js 2020-08-15 20:46:13 +01:00
Oliver Davies bed98b4f97 Increase font size in navbar 2020-08-15 14:31:20 +01:00
Oliver Davies 0f07d3d231 Add ability to add links to external posts
Add the ability to add links to external blog posts within my blog feed.
This is done based on a new `field_external_link` field that allows for
adding the external link URL and the domain name as the title.

The node links are then overridden to use the external link if there is
one, so the node title and 'read more' links are changed to use the
external link.

Currently, automated tweets are not generated for external posts.

Fixes #182
2020-08-14 16:43:04 +01:00
Oliver Davies 8385d6fef7 Don't send posts to social media multiple times
Check if a post has previously been sent to social media, by checking
the value of a `field_sent_to_social_media` field.

This field is hidden on the node add/edit forms, and populated when a
post is sent to social media. Once this happens, it will not be sent to
social media again.

This change also populates the field for all existing posts, so that
they won't be re-sent to social media either.
2020-08-12 22:33:16 +01:00
Oliver Davies 1b2cbc1a9b Add and use Tailwind CSS typography plugin
Replace custom markup styles with Tailwind CSS's typography/prose plugin
(https://github.com/tailwindlabs/tailwindcss-typography).
2020-08-11 00:59:40 +01:00
Oliver Davies fe7142e1f1 Improve accessibility of the nav toggle button
Improve the accessibility for the nav toggle button by adding a border
around the button when it is focussed on.

I've added a custom Tailwind CSS variant to do this using a custom
`focus-visible` variant in tailwind.config.js, and using the
https://www.npmjs.com/package/focus-visible polyfill.
2020-07-23 13:57:41 +01:00
Oliver Davies f488b5c023 Automatically create tweets for new posts 2020-07-19 20:15:44 +01:00
Oliver Davies eafcb103b8 Set NODE_ENV in Encore config 2020-07-18 10:17:40 +01:00
Oliver Davies 533095d87f Fix photo position 2020-07-16 20:52:37 +01:00
Oliver Davies ef500b5fd7 Change text colour for role 2020-07-16 20:43:59 +01:00
Oliver Davies ebe5a7dbba Recommendation styling 2020-07-16 20:39:43 +01:00
Oliver Davies dd42f3deac Fix missing edit links
Add the title prefix and suffix for recommendation block titles, which
fixes the missing edit links so the blocks are editable.

References #146
2020-07-16 13:12:30 +01:00
Oliver Davies 16350b02fc Remove grid gap on mobile 2020-07-16 09:26:17 +01:00
Oliver Davies ff77296e4c Style the recommendations block
References #146
2020-07-15 21:06:51 +01:00
Oliver Davies 097f60411d Adjust page widths 2020-07-14 21:57:22 +01:00
Oliver Davies 86c3edbcaf Adjust page widths 2020-07-14 13:20:24 +01:00
Oliver Davies 58036c7ab9 Fix collapsing page widths
Fix inconsistent page widths on some pages such as blog and talks, by
adding a width (i.e. a `w-full` class) as well as a maximum width.
2020-07-02 18:13:05 +01:00
Oliver Davies 6350054e45 Fix PHPCS errors 2020-06-30 17:34:42 +01:00
Oliver Davies 9e3064ca21 Add tests for counting previous talks
References #31
2020-06-30 12:50:21 +01:00
Oliver Davies 98ac66495f Set line heights for heaings 2020-06-27 11:24:20 +01:00
Oliver Davies 70ab7f56a0 Add spacing between footer and main content 2020-06-27 01:10:50 +01:00
Oliver Davies 3c814fca05 Use CSS Grid for page columns 2020-06-27 01:01:01 +01:00
Oliver Davies 2b061539d5 Fix spacing issues in various places 2020-06-27 00:25:55 +01:00
Oliver Davies d7aaeb0ca6 Add a test for if a post has a tweet 2020-06-26 20:20:12 +01:00
Oliver Davies f37e69f6f2 Refactor to use a Collection in the test
References #140
2020-06-26 02:14:23 +01:00
Oliver Davies 58d56220de Show upcoming talks in chronological order
Update the ordering of the future talks on the talks page so that
upcoming talks are shown in chronological order (soonest first),
followed by past talks in reverse chronological order (most recent
first).

This still uses the `created` date for ordering, which is updated
automatically on saving the node to match the furthest future talk, but
I may want to move that into a custom node property at some point.

Fixes #140
2020-06-26 02:06:32 +01:00
Oliver Davies deb6f26836 Add webpack aliases for CSS and JS directories 2020-06-16 00:12:47 +01:00
Oliver Davies 0215e31154 Move CSS and JS into assets 2020-06-16 00:04:46 +01:00
Oliver Davies fec0feff36 Re-add npm scripts for development and production
References #127
2020-06-12 02:17:30 +01:00
Oliver Davies d343b4cdf2 Switch from Laravel Mix to Webpack Encore
- Updated npm dependencies
- Replaced `webpack.mix.js` with `webpack.config.js`
- Added `postcss.config.js`
- Removed the `src` directory and moved `css` and `js` to the root level
  of the theme
- Renamed `dist` to `build` and updated in libraries file

References #41
2020-06-10 12:06:09 +01:00
Oliver Davies 53257d1709 Add a command for updating old tag names
Fixes #53
2020-06-01 20:12:27 +01:00
Oliver Davies b49b487590 Fix PHPStan and PHPCS errors 2020-06-01 19:03:25 +01:00
Oliver Davies 1207df285f Fix undefined index notice on non-node pages
Fixes #95
2020-06-01 11:48:55 +01:00