Code with Hugo: Another week, not another rant.
Another week, not another rant.
There should be something for everyone here: - a bit of housekeeping on Cloudflare - changing the date of a commit for whatever reason - Querying a GraphQL API in Python
Python GraphQL client requests example using gql
An example consuming a GraphQL API from Python using gql.
Full code example at HugoDF/python-graphql-client-example.
$ pip install gql # You should use a virtualenv
from gql import gql, Client from gql.transport.requests import RequestsHTTPTransport _transport = RequestsHTTPTransport( url='https://graphql-pokemon.now.sh/', use_json=True, ) client = Client( transport=_transport, fetch_schema_from_transport=True, ) query = gql(""" { pokemon(name: "Pikachu") { attacks { special { name } } } } """) print(client.execute(query))
$ python fetch.py {'pokemon': {'attacks': {'special': [{'name': 'Discharge'}, {'name': 'Thunder'}, {'name': 'Thunderbolt'}]}}}
The step-by-step guide to create a domain redirect with Cloudflare
Be logged into your dashboard.
- Select the domain you want to redirect from
- Go to page rules
- Click “Create page rule”
- Enter
your.domain/*
(matches all traffic) for which URLs will have their traffic redirected - Click “Add a Setting”
- Select “Forwarding URL”
- Select the type of redirect, I recommend 302s since they’re less aggressively cached (so if you ever want to use that domain to do something else other than redirect, you can)
- Enter your forwarding URL
- Click “Save and Deploy”
You’re done, you’ve just created a redirect from your domain to another one 🙂
Change the date of a git commit
One of the greatest and worst things with git is that you can rewrite the history. Here’s a sneaky way of abusing that, I can’t think of a legitimate reason to do this.
As with anything, thanks StackOverflow for all the options I can pick from 👍.
Set the date of the last commit to the current date
GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"
Set the date of the last commit to an arbitrary date
GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 BST"
Set the date of an arbitrary commit to an arbitrary or current date
Rebase to before said commit and stop for amendment:
git rebase <commit-hash>^ -i
- Replace
pick
withe
(edit) on the line with that commit (the first one) - quit the editor (ESC followed by
:wq
in VIM) - Either:
GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"
GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 BST"
See here for more information around rebasing and editing in git: Split an existing git commit