Commit graph

584 commits

Author SHA1 Message Date
Oliver Davies 7ea2c8991c Remove unused export command 2021-02-11 08:53:16 +00:00
Oliver Davies f219d81d38 Remove Ansible playbooks and roles 2021-02-11 08:53:16 +00:00
Oliver Davies b9b09b5719 Add additional classes to PurgeCSS safelist 2021-02-11 08:53:16 +00:00
Oliver Davies ab69190d8f Add Platform.sh required files 2021-02-11 08:53:16 +00:00
Oliver Davies 0c1321fed5 Add TalkCollection, move logic for getting events
Add a `TalkCollection` which extends Laravel/Tighten's, and add a method
there for getting the events from the talks. This makes this logic more
reusable and also makes the code in the `TalkCounter` service simpler.
2021-02-11 08:53:16 +00:00
Oliver Davies 1f0926ac16 Extract a method for providing default properties and values 2021-02-11 08:53:16 +00:00
Oliver Davies abe0f3d93b Rename getAll to findAll, remove published argument 2021-02-11 08:53:16 +00:00
Oliver Davies afc0a0e448 Inject the TalkRepository into TalkCounter 2021-02-11 08:53:16 +00:00
Oliver Davies 29d88893fa Add Docker and Docker Compose 2021-02-11 08:53:15 +00:00
Oliver Davies ebd57a2e69 Remove DDEV 2021-02-09 11:37:18 +00:00
Oliver Davies d656c07339 Add Media Insert module
Allow for inserting media entities into blog posts.
2021-01-30 17:37:01 +00:00
Oliver Davies dcf180a651 Fix Plausible loading for authenticated users
Return early within the Plausible if the user is authenticated so that
it doesn't pick up when I'm adding or editing content on the site.

Though the role is configured in the Plausible module's admin form, the
conditions in the code don't exclude it. I'll look into this further and
submit a patch upstream along with some tests.

References #350
2021-01-30 17:22:28 +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 cd9453096e Re-enable database updates on deployment 2021-01-22 01:11:47 +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 bd52a08a6c Update Drupal core to 8.9.13 2021-01-20 23:58:21 +00:00
Oliver Davies 5bab945678 Delete unused settings.symfony.php 2021-01-20 18:40:12 +00:00
Oliver Davies f082981d5f Add more disallowed URLs 2021-01-15 12:48:26 +00:00
Oliver Davies 469be1f621 Append removed URLs to robots.txt 2021-01-15 09:13:26 +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 f6791516c5 Update site slogan 2021-01-13 21:19:01 +00:00
Oliver Davies 2b98b8624e Remove DigitalOcean playbook 2021-01-13 20:12:50 +00:00
Oliver Davies 29a7af6e36 Update server IP address 2021-01-13 20:12:28 +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 1f82a07226 Place the related content block
References #3
2021-01-11 01:39:54 +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