Skip to content
John Shelburne
Go back

Creating A Template And Automating To Github

Edit page

Questions To ChatGPT 4-0

First Question

i would like to insert an action called 8601 Format that modifies pubDatetime: in an exisiting action that inserts text into an empty draft --- author: John Shelburne pubDatetime: modDatetime: title: INSERT TITLE HERE slug: insert-slug-here featured: true draft: false tags: description: THIS IS THE TEMPLATE FOR NEW POSTS. CHANGE DESCRIPTION --- into an empty draf

First Answer

To format a date using the syntax [[date|%Y%M%D]], you typically use a text expansion tool or a scripting feature that supports date and time formatting. However, the format you provided seems incorrect for achieving the ISO 8601 format. Here’s what you might want to do:

  1. Correct Syntax for ISO 8601: The correct format string for ISO 8601 should be more like [[date|%Y-%m-%dT%H:%M:%SZ]], assuming the text expansion tool recognizes this format. Here’s what each component means:

    • %Y - Year with century (e.g., 2024)
    • %m - Month as a zero-padded decimal (e.g., 10)
    • %d - Day of the month as a zero-padded decimal (e.g., 28)
    • %H - Hour (24-hour clock) as a zero-padded decimal (e.g., 18)
    • %M - Minute as a zero-padded decimal (e.g., 30)
    • %S - Second as a zero-padded decimal (e.g., 00)
    • Z - Literal character ‘Z’ indicating UTC time
  2. Example Template Update: If your tool supports this syntax for expanding and formatting current dates, your template might be updated as follows:

    ---
    author: John Shelburne
    pubDatetime: [[date|%Y-%m-%dT%H:%M:%SZ]]
    modDatetime:  
    title: INSERT TITLE HERE
    slug: insert-slug-here
    featured: true
    draft: false
    tags: 
    description: THIS IS THE TEMPLATE FOR NEW POSTS. CHANGE DESCRIPTION 
    ---
  3. Implementation:

    • Text Editors: Some text editors (like Sublime Text, Visual Studio Code with extensions) provide ways to automate date-time insertion.
    • Text Expansion Tools: Tools like TextExpander (Mac), PhraseExpress (Windows), or AutoHotkey scripts can handle this kind of variable replacement.

If you specify the environment or tool you are using, I can offer more tailored guidance on implementing this syntax.

Second Question

How do i integrate drafts application with my github repository?

Second Answer

To integrate the Drafts application with your GitHub repository, you can follow these general steps. Drafts does not have a direct integration but you can use actions and scripting to automate the process:

  1. Install Drafts App & Setup Account:

    • Download and install the Drafts app on your device.
    • Set up your Drafts account if you haven’t already.
  2. Install GitHub CLI:

    • Make sure you have git and GitHub CLI (gh) installed on your machine. This will allow you to interact with GitHub directly from your command line.
  3. Create GitHub Repository:

    • Create a new repository on GitHub if you haven’t already. You’ll need the repository URL for the next steps.
  4. Set Up a Drafts Action:

    • Drafts supports actions that can run custom scripts. Create a new action that will export your draft as needed (e.g., Markdown) and run a script to commit to your GitHub repo.
  5. Create a Script to Push to GitHub:

    • Here is a basic idea of what your script might look like using the command line. This will be a part of the Drafts action:
    ---
    #!/bin/bash
    DRAFT_CONTENT="$1" # This should be passed from Drafts
    FILE_NAME="$2" # You pass a filename, perhaps based on a draft title
    
    # Navigate to your local clone of the repo
    cd /path/to/your/local/repo
    # Create or update the file from Drafts
    echo "$DRAFT_CONTENT" > "$FILE_NAME.md
    # Use Git to commit and push changes
    git add "$FILE_NAME.md"
    git commit -m "Update from Drafts: $(date)"
    git push origin main  # change 'main' to the branch you're using
    
  6. Create a Drafts Action to Trigger the Script:

    • In Drafts, you can use scripting in actions to call external scripts.
    • Use a Drafts script action with JavaScript to call the above script and pass the draft content and filename.
  7. Run the Action:

    • Once set up, you can run this action on a Draft to push your content to GitHub.
  8. Automate Further:

    • Consider using automations within Drafts, like URL schemes or callbacks, to trigger this action as part of a larger workflow (e.g., when flagging a draft).

Remember to replace /path/to/your/local/repo with the correct path, and modify your script to suit the specifics of your setup and needs. Also, ensure you have necessary permissions and configure SSH keys or Git credentials to push changes without needing to enter your password every time.


Edit page
Share this post on:

Previous Post
Ideal Workflow In Drafts or Text Editor
Next Post
Now This Is Search