diff --git a/_layouts/recipe.html b/_layouts/recipe.html
index 128f7e4..756c2a2 100644
--- a/_layouts/recipe.html
+++ b/_layouts/recipe.html
@@ -1,8 +1,8 @@
---
layout: default
---
-{%- comment -%} this is a gross method of converting "_recipes/example.md" to "example". it does it by removing the leading "_recipes/", which is simple enough, and then the trailing ".md", which is done by converting the string to an array, reversing it, turning it back into a string, removing the leading "dm." (".md" backwards), and doing the the array -> reverse -> string shuffle again. it's ugly but hey it works right {%- endcomment -%}
-{%- assign id = page.path | remove_first: "_recipes/" | split: "" | reverse | join: "" | remove_first: "dm." | split: "" | reverse | join: "" -%}
+{%- comment -%} return everything before the first full stop, without the trailing "_recipes/". for example: "_recipes/file.yml.md" becomes "file" {%- endcomment -%}
+{%- assign id = page.path | split: "." | pop | first | remove_first: "_recipes/" -%}
{%- comment -%} unfortunately we have to iterate through the entire subrecipe folder twice - once to see if there are any subrecipes that apply here, and another time to put them in. thankfully we can break out of the first loop if we find a single match. i miss jinja ;u; {%- endcomment -%}
{%- assign applicable_subrecipes = false -%}
{%- for subrecipe in site.subrecipes -%}