From 7d4dbfd1d9fb645880b5ba59a0f84efe136c98f0 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Wed, 7 Dec 2022 18:12:54 -0500 Subject: [PATCH] new post --- Makefile | 6 ++++- content/blog/2022-12-07-gamels.md | 23 +++++++++++++++++++ static/images/posts/gamels/steam_app_ids.png | Bin 0 -> 43785 bytes templates/components/site-timeline.html | 1 + 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 content/blog/2022-12-07-gamels.md create mode 100644 static/images/posts/gamels/steam_app_ids.png diff --git a/Makefile b/Makefile index 6a3142b..f2f33e8 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -static/dist: static/dist/line-awesome/svg static/dist/github-markdown-css/github-markdown-light.css +static/dist: static/dist/line-awesome/svg static/dist/github-markdown-css/github-markdown-light.css static/dist/line-awesome/fonts/la-solid-900.woff2 static/dist/line-awesome/svg: static/dist/line-awesome/svg/envelope.svg static/dist/line-awesome/svg/github.svg static/dist/line-awesome/svg/linkedin.svg static/dist/line-awesome/svg/ellipsis-h-solid.svg @@ -15,6 +15,10 @@ static/dist/line-awesome/svg/linkedin.svg: node_modules/line-awesome/svg/linkedi mkdir -p $(dir $@) cp $< $@ +static/dist/line-awesome/fonts/la-solid-900.woff2: node_modules/line-awesome/dist/line-awesome/fonts/la-solid-900.woff2 + mkdir -p $(dir $@) + cp $< $@ + static/dist/github-markdown-css/github-markdown-light.css: node_modules/github-markdown-css/github-markdown-light.css @mkdir -p $(dir $@) cp $< $@ diff --git a/content/blog/2022-12-07-gamels.md b/content/blog/2022-12-07-gamels.md new file mode 100644 index 0000000..1bc644c --- /dev/null +++ b/content/blog/2022-12-07-gamels.md @@ -0,0 +1,23 @@ +--- +layout: page +title: "I re-implemented `ls` to query the Steam API" +description: "gamels: never be confused about Steam appid direcroties again" +date: 2022-12-07 +tags: project +draft: false +extra: + auto_center_images: true + excerpt: "`gamels` will list all files in a directory in the style of `ls -la`, but will also show the name of any Steam game found in the listing. This utility was made to help me explore the filesystem of the Steam Deck." +--- + +Today, I released a new command-line tool called [`gamels`](https://github.com/ewpratten/gamels). + +Linux gamers may be familiar with digging around the `copmpatdata` and `shadercache` directories in `~/.local/share/Steam/steamapps`. This is a tedious task that involves lots of googling, since Steam names game-specific directories after the game's application id. + +![A screenshot showing app ids in the shadercache](/images/posts/gamels/steam_app_ids.png) + +`gamels` solves this problem by querying the Steam API to see if any directory names match known app ids. If so, the name of the corresponding game is shown in the listing. + +![A screenshot of gamels in action](https://raw.githubusercontent.com/ewpratten/gamels/master/steamdeck-screenshot.png) + +Installation instructions and source code are available on [GitHub](https://github.com/ewpratten/gamels). diff --git a/static/images/posts/gamels/steam_app_ids.png b/static/images/posts/gamels/steam_app_ids.png new file mode 100644 index 0000000000000000000000000000000000000000..695bc163559ddc300046b517d6691ea5eed3cc64 GIT binary patch literal 43785 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 literal 0 HcmV?d00001 diff --git a/templates/components/site-timeline.html b/templates/components/site-timeline.html index 9594f04..51978e9 100644 --- a/templates/components/site-timeline.html +++ b/templates/components/site-timeline.html @@ -1,6 +1,7 @@ {% block component_styles %} {{ super() }} + {% endblock component_styles %} {# Build a list of pages to work with #}