Commit graph

290 commits

Author SHA1 Message Date
Oliver Davies ebd57a2e69 Remove DDEV 2021-02-09 11:37:18 +00:00
Oliver Davies 24f1fd5673 Rename HttpPostPusher to WebhookPostPusher
References #340
2021-01-22 09:42:33 +00:00
Oliver Davies 79cffc22fe Add Integtomat implementation of PostPusher
Add an Integromat post pusher and add it to the queue worker so that
posts are pushed both to IFTTT (for Twitter) and Integromat (for
LinkedIn).

References #340
2021-01-22 02:30:29 +00:00
Oliver Davies 7204e2c5e8 Add integromat webhook URL
Add the integromat webhook URL to the Ansible Vault and also to the
generated Drupal settings file that Ansible generates, and the
opdavies_blog module configuration.

References #340
2021-01-22 02:30:26 +00:00
Oliver Davies ffed78ef8b Change blue colour for prose links 2021-01-22 01:07:53 +00:00
Oliver Davies 55b2005b7d Change blue colour for links and backgrounds 2021-01-22 01:03:38 +00:00
Oliver Davies 5bab945678 Delete unused settings.symfony.php 2021-01-20 18:40:12 +00:00
Oliver Davies 69d7d9dca9 Remove old FormatTagNamesCommand
This was a one-time command that is no longer needed, so it can be
removed.
2021-01-14 00:55:13 +00:00
Oliver Davies 322d948c1e Auto-configure the post factory
References #347
2021-01-14 00:45:58 +00:00
Oliver Davies 43455d5ae1 Auto-configure event subscribers
References #347
2021-01-14 00:45:58 +00:00
Oliver Davies 53ab326415 Auto-configure services and repositories
Enable the auto-configuration of service and repository classes,
including support for classes in subdirectories by using
`getRelativePathname()` rather than `getFilename()` and making some
additional changes to the result.

References #347
2021-01-14 00:44:30 +00:00
Oliver Davies 5e9dc48896 Rename methods 2021-01-13 17:56:57 +00:00
Oliver Davies 7e06943be1 Rename event subscriber classes 2021-01-13 17:55:29 +00:00
Oliver Davies 17179fbfe4 Add a placeholder test, mark as skipped
References #344
2021-01-13 08:53:29 +00:00
Oliver Davies 661c26dcec Add query condition for status
References #344
2021-01-13 08:52:51 +00:00
Oliver Davies dee6051cd9 Add route cache context to related posts block
References #3
2021-01-11 02:32:17 +00:00
Oliver Davies a3e8f03cf1 Cache the block, not the render array
References #3
2021-01-11 02:20:17 +00:00
Oliver Davies cca8ed1970 Re-order array by key [ci skip]
References #3
2021-01-11 01:59:31 +00:00
Oliver Davies f404019a39 Add cache tag for the current post
References #3
2021-01-11 01:58:42 +00:00
Oliver Davies e716069022 Add list styling to related posts
References #3
2021-01-11 01:48:23 +00:00
Oliver Davies 52fa58733d Set cache max age on related posts block
Based on https://www.drupal.org/node/2451555, added a `max-age` value to
the related posts block.

References #3
2021-01-11 01:48:23 +00:00
Oliver Davies 105405e7f9 Display a list of related post titles
References #3
2021-01-11 01:48:21 +00:00
Oliver Davies 6436e3edb3 Generate a new block for related posts
References #3
2021-01-11 01:39:44 +00:00
Oliver Davies 3546ac427a Extract a method to contain the query logic
Group all of the query logic into one method, as this will make it more
readable and this logic is likely to grow.

References #3
2021-01-10 22:38:37 +00:00
Oliver Davies ae0024f335 Return an empty Collection if there are no posts
Return an empty Collection if there are no related posts for the given
post.

References #3
2021-01-10 22:38:37 +00:00
Oliver Davies 059e237600 Prevent duplicate terms being created
Within the `PostFactory` class, ensure that when using the `withTags`
method and creating tag terms that an existing term doesn't already
exist for a given name before trying to create it.

With the previous implementation, there would be multiple terms if the
PostFactory was used multiple times with the same tag name.

Given that `PostFactory` now has a dependency on `EntityTypeManger`,
this has been added as a service within `opdavies_blog_test` and needs
to be resolved from the container before trying to use it within a test.

This commit also updates the usages in `PostTest` so that those tests
continue to work and pass.

References #3
2021-01-10 22:38:36 +00:00
Oliver Davies b90ca42e87 Refactor to use an entity query
Refactor from using `loadByProperties` to using an entity query.

`loadByProperties` doesn't allow for passing multiple values for a
single property such as multiple tags to compare against, and also means
that removing the current node can be done in the query rather than
filtering it out of the Collection.

This might also be a more performant solution if we can do the grouping
and sorting of the results in the query rather than needing to perform
additional steps on the result.

References #3
2021-01-10 22:38:02 +00:00
Oliver Davies d7f3d8c482 Return related posts for a specified blog post
Add the initial code for specifying a blog post and returning related
posts. This includes adding a repository for related posts, and adding
it as a service within the `opdavies_blog` module.

References #3
2021-01-10 22:38:00 +00:00
Oliver Davies 62424d5b04 Add PostTestBase
Add a base test for writing kernel tests for posts, so that it will be
easier to start writing the tests for related posts.

References #3
2021-01-10 22:37:28 +00:00
Oliver Davies 59620f8a51 Add .theme file to the PurgeCSS config
Ensures that any classes in `opdavies.theme` are not purged in a
production CSS build.

References #341
2021-01-10 22:15:48 +00:00
Oliver Davies 3b6ad20486 Move padding from list items to links
So that the padding takes up the full space within the tab, move the
padding to the link element. This requires adding a preprocess function
to the theme file and removing the classes from the local task template.

References #341
2021-01-10 22:05:50 +00:00
Oliver Davies 9bcb8bb847 Add negative margins to re-align tabs
References #341
2021-01-10 22:05:46 +00:00
Oliver Davies b2641662d2 Add tab styling
References #341
2021-01-10 22:05:37 +00:00
Oliver Davies 654d0f65f7 Flex lists of local tasks
References #341
2021-01-10 22:05:22 +00:00
Oliver Davies bb2363457c Add templates for local tasks
References #341
2021-01-10 22:05:18 +00:00
Oliver Davies 2e94abab55 Add some additional empty tests to fill in later 2021-01-10 20:00:14 +00:00
Oliver Davies bbca137a83 Rename the test method 2021-01-10 19:57:08 +00:00
Oliver Davies 383c0d0fdf Push to IFTTT
References #328
2021-01-10 19:14:24 +00:00
Oliver Davies 790b221646 Save post as sent to social media
References #328
2021-01-10 19:13:00 +00:00
Oliver Davies e617e9984d Return early if the post shouldn't be pushed
References #328
2021-01-10 19:06:37 +00:00
Oliver Davies 73271de39a Move logic for if a post should be pushed
References #328
2021-01-10 19:06:36 +00:00
Oliver Davies baebc4fd25 Add queue worker
References #328
2021-01-10 19:04:30 +00:00
Oliver Davies ec6ac1d798 Start refactoring to use a queue
References #328
2021-01-10 18:12:14 +00:00
Oliver Davies af25afe2cf Test that a queue entry is added for a post
References #328
2021-01-10 18:11:11 +00:00
Oliver Davies ce7209ac74 Ensure that the translated text is rendered
Fixes #334
2021-01-04 22:01:42 +00:00
Oliver Davies dad542a0ab Fix content overflowing on mobile 2021-01-04 18:15:11 +00:00
Oliver Davies cb8afcd852 Update tweet text
References #332
2021-01-01 23:16:56 +00:00
Oliver Davies 87ee87f915 Fix blog tag re-ordering test
Add a NullPostPusher implementation and use it within the tag
re-ordering tests to stop an Exception being thrown because there's no
webhook URL.

References #332
2021-01-01 23:08:23 +00:00
Oliver Davies d7459ff30f Extract a PostPusher service to push the post
Extract a `PostPusher` service with an IFTTT implementation. That means
if this needs to change to use a different service in the future, the
IFTTT implementation can remain unchanged and a new implementation can
be added with its own form params etc.

This also makes this functionality easier to test as we can add a
`NullPostPusher` implementation for testing.

References #332
2021-01-01 22:45:23 +00:00
Oliver Davies f6ff21e04e Update form params to work with IFTTT
References #332
2021-01-01 22:34:59 +00:00
Oliver Davies a6f378294c Extract a helper method to group checks [ci skip] 2021-01-01 21:50:35 +00:00
Oliver Davies e2d7f08893 Rename variable to make it more generic 2021-01-01 21:46:12 +00:00
Oliver Davies 9aaf62fce3 Re-order imports 2020-12-20 01:45:58 +00:00
Oliver Davies 08657c9b14 Safelist branding block, fix logo size 2020-12-20 01:45:50 +00:00
Oliver Davies a142f073f2 Re-add colour overrides
https://tailwindcss.com/docs/upgrading-to-v2#configure-your-color-palette-explicitly
2020-12-18 01:08:31 +00:00
Oliver Davies 3f1f858c37 Import default colours from 1.x
https://tailwindcss.com/docs/upgrading-to-v2#configure-your-color-palette-explicitly
2020-12-18 01:08:21 +00:00
Oliver Davies 3a7465572f Rename focus visible plugin 2020-12-18 01:08:18 +00:00
Oliver Davies 6c6585abf8 Change whitelist to safelist
https://tailwindcss.com/docs/upgrading-to-v2#update-purge-options-to-match-purge-css-3-0
2020-12-18 01:08:05 +00:00
Oliver Davies dc70dd5e87 Move the typography plugin config into extend
https://tailwindcss.com/docs/upgrading-to-v2#update-typography-and-forms-plugins
https://github.com/tailwindlabs/tailwindcss-typography/releases/tag/v0.3.0
2020-12-18 01:07:55 +00:00
Oliver Davies 3b0b7d37e3 Remove experimental and future options from config
https://tailwindcss.com/docs/upgrading-to-v2#remove-future-and-experimental-configuration-options
2020-12-18 01:07:49 +00:00
Oliver Davies cbdb79a429 Update npm dependencies
https://tailwindcss.com/docs/upgrading-to-v2#install-tailwind-css-v2-0-and-post-css-8
2020-12-18 01:07:46 +00:00
Oliver Davies aab1114006 Reorder test class and method 2020-12-17 23:42:20 +00:00
Oliver Davies 509d526661 Update the Collection namespace 2020-12-17 23:42:20 +00:00
Oliver Davies 864c2429a5 Ensure that method names are in a consistent format 2020-12-17 23:42:20 +00:00
Oliver Davies 280a381c68 All test method should have a void return type 2020-12-17 23:42:20 +00:00
Oliver Davies 8591a0f846 Remove strict types in tests, ensure classes are final 2020-12-17 23:42:20 +00:00
Oliver Davies a73adeca41 Fix incorrect namespace 2020-12-17 23:42:20 +00:00
Oliver Davies 0b1003a17d Ignore PHPCS rules per test file 2020-12-17 23:42:20 +00:00
Oliver Davies 4e427340df Increase padding in code blocks 2020-12-17 13:06:08 +00:00
Oliver Davies 2fb7b4cf44 Change syntax highlighting theme 2020-12-17 09:42:47 +00:00
Oliver Davies ebd9903bf6 Remove dark mode from theme 2020-12-17 09:42:41 +00:00
Oliver Davies 9fba0b7292 Wrap all custom components in layers 2020-12-17 01:53:58 +00:00
Oliver Davies 4cfc932f77 Import all libraries automatically 2020-12-17 01:33:15 +00:00
Oliver Davies a7dce26971 Split custom utilities into partials 2020-12-17 01:32:43 +00:00
Oliver Davies d7b39a18e9 Split custom base classes into partials 2020-12-17 01:32:43 +00:00
Oliver Davies f12da38a40 Use postcss-easy-import for easy importing 2020-12-17 01:32:43 +00:00
Oliver Davies 3df64325b8 Sort imports [ci skip] 2020-12-17 00:05:40 +00:00
Oliver Davies 265b6f17ca Improve syntax highlighting 2020-12-16 23:52:30 +00:00
Oliver Davies 832b2897f3 Improve code snippet styles in light and dark mode 2020-12-16 23:33:20 +00:00
Oliver Davies e83b5ec517 Only override the blog posts view lists
Prevent other views, such as the talks listing page, from being
overridden with the same changes as the blog post listing page.
2020-12-16 21:35:29 +00:00
Oliver Davies 52964e2eca Improve note styling in dark mode 2020-12-16 20:52:45 +00:00
Oliver Davies c3b5763adf Fix colour for 'Posted' text in dark mode 2020-12-16 20:28:37 +00:00
Oliver Davies 290ab7098d Override view list, change heading to h2 2020-12-16 20:21:21 +00:00
Oliver Davies f0039080e4 Display list of posts, grouped by year 2020-12-16 20:21:21 +00:00
Oliver Davies acf91fb1a9 Always have a gap between main content and sidebar 2020-12-16 00:35:54 +00:00
Oliver Davies 6edf584ac5 Remove illuminate/support dependency
References #302
2020-12-08 00:18:24 +00:00
Oliver Davies ce374861ba Change role text colour in dark mode
References #293
2020-12-03 08:16:33 +00:00
Oliver Davies 352637b390 Enable lazy loading for recommendation images 2020-12-03 02:28:04 +00:00
Oliver Davies f0b3cc30ec Update caniuse database [ci skip] 2020-12-01 21:52:31 +00:00
Oliver Davies 71294cb75e Re-add block background colour 2020-11-28 19:57:17 +00:00
Oliver Davies a656280e7b Extract helper methods 2020-11-10 20:25:07 +00:00
Oliver Davies 06c3da1880 Add public constants for field names
Make it easier and safer when referencing field names by adding public
constants for them to the Talk and Post classes.
2020-11-10 19:34:15 +00:00
Oliver Davies 3025ab0f68 Change table header colour in dark mode 2020-11-08 14:51:02 +00:00
Oliver Davies 097293fc3e Change input text colour in dark mode 2020-11-08 13:45:25 +00:00
Oliver Davies a574e7e532 Change blockquote colour in dark mode 2020-11-08 13:36:16 +00:00
Oliver Davies 9ea86e6559 Set h3 heading colour in dark mode 2020-11-02 14:25:43 +00:00
Oliver Davies e76251c376 Remove require for old Symfony settings file 2020-10-30 01:12:03 +00:00
Oliver Davies 4008f511f8 Move the config sync directory 2020-10-30 00:56:36 +00:00
Oliver Davies a888430ef3 Integrate the typography plugin with dark mode
References #27
2020-10-29 01:43:33 +00:00
Oliver Davies c0355a4e89 Override blue.500 colour
References #27
2020-10-29 01:41:57 +00:00