Project

General

Profile

Feature #20525

Updated by bradgessler (Brad Gessler) 6 months ago

I have code that looks like this in an application: 

 ```ruby 
 ContentSlide(title: "Why Phlex?"){ 
   Markdown <<~MARKDOWN 

   * Because its fun 
   * Because its super-de-dooper 
   MARKDOWN 
 }, 
 ``` 

 The "squiggle" HEREDOCs strips the indentation, but the name of the HEREDOC doesn't look that great since "Markdown" appears twice.  

 What I'd prefer is a string literal that deals with indentation, maybe it looks something like this: 

 ``` 
 ContentSlide(title: "Why Phlex?"){ 
   Markdown %~{ 
     # Why do you like markdown? 

     * Because its fun 
     * Because its super-de-dooper 
   } 
 }, 
 ``` 

 If Ruby doesn't want to go down the path of adding another type of literal, I'd propose adding a method to String that does the same thing as the `~` HEREDOC so something like this is possible: 

 ```ruby 
 ContentSlide(title: "Why Phlex?"){ 
   Markdown %{ 
     # Why do you like markdown? 

     * Because its fun 
     * Because its super-de-dooper 
   }.dedent }.deindent 
 }, 
 ``` 

Back