🛠 ed heredocs
hey guess what i figured out some unix 101 stuff about how to redirect input and output, and used HEREDOC with ed to inline my edits and transformations to index.md to create the rss feeds for episodes and journal entries!
This commit is contained in:
		
							parent
							
								
									53825991ba
								
							
						
					
					
						commit
						bed8dcd8c5
					
				| @ -1,13 +0,0 @@ | ||||
| . | ||||
| g/BEGIN/ka | ||||
| g/END/kb | ||||
| 1,'ad | ||||
| 'b,$d | ||||
| %s/^- // | ||||
| %s,<time>\(.*\)</time>,time: \1|, | ||||
| %s, - \[\(.*\)\],title: \1|, | ||||
| %s,(\(.*\))$,source: \1|link: \1|, | ||||
| %s/html/md/ | ||||
| %s/|/\ | ||||
| /g | ||||
| 1,$w /dev/stdout | ||||
| @ -1,13 +0,0 @@ | ||||
| . | ||||
| g/BEGIN/ka | ||||
| g/END/kb | ||||
| 1,'ad | ||||
| 'b,$d | ||||
| g/^##/+s/^/note: / | ||||
| v/^note/s/^/+ / | ||||
| %s/+ ##/##/ | ||||
| %s_^## <time>\(.*\)</time> - \(.*\)_\ | ||||
| time: \1\ | ||||
| title: \2_ | ||||
| 1,$w /dev/stdout | ||||
| q | ||||
							
								
								
									
										56
									
								
								justfile
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								justfile
									
									
									
									
									
								
							| @ -21,27 +21,47 @@ up: html rss | ||||
| 
 | ||||
| # make episodes rss
 | ||||
| episoderss: | ||||
|   echo "<rss version=\"2.0\"><channel><title>cleric + thief</title>" > www/episodes.xml \
 | ||||
|   && echo "<link>http://tilde.town/~dozens/clericthief/index.html</link><description>adventures of iofi and maddox</description><atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://tilde.town/~dozens/clericthief/episodes.xml\"/>" >> www/episodes.xml \
 | ||||
|   && echo i \
 | ||||
|   | cat - src/index.md ed/blogitem.ed \
 | ||||
|   | ed -s \
 | ||||
|   | recfmt -f templates/blogitem.rec.template \
 | ||||
|   | m4 \
 | ||||
|   >> www/episodes.xml \
 | ||||
|   && echo '</channel></rss>' >> www/episodes.xml | ||||
|   #!/usr/bin/env zsh | ||||
|   echo "<rss version=\"2.0\"><channel><title>cleric + thief</title>" > www/episodes.xml | ||||
|   echo "<link>http://tilde.town/~dozens/clericthief/index.html</link><description>adventures of iofi and maddox</description><atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://tilde.town/~dozens/clericthief/episodes.xml\"/>" >> www/episodes.xml | ||||
|   ed -s << HEREDOC src/index.md | recfmt -f templates/blogitem.rec.template | m4 >> www/episodes.xml | ||||
|   /BEGIN/ka | ||||
|   /END/kb | ||||
|   1,'ad | ||||
|   'b,d | ||||
|   %s/^- // | ||||
|   %s,<time>\(.*\)</time>,time: \1|, | ||||
|   %s, - \[\(.*\)\],title: \1|, | ||||
|   %s,(\(.*\))$,source: \1|link: \1|, | ||||
|   %s/html/md/ | ||||
|   %s/|/\\ | ||||
|   /g | ||||
|   ,w /dev/stdout | ||||
|   Q | ||||
|   HEREDOC | ||||
|   echo '</channel></rss>' >> www/episodes.xml | ||||
| 
 | ||||
| # make journal rss
 | ||||
| journalrss: | ||||
|   echo "<rss version=\"2.0\"><channel><title>cleric + thief</title>" > www/journal.xml \
 | ||||
|   && echo "<link>http://tilde.town/~dozens/clericthief/index.html</link><description>behind the scenes of cleric + thief</description><atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://tilde.town/~dozens/clericthief/journal.xml\"/>" >> www/journal.xml \
 | ||||
|   && echo i \
 | ||||
|   | cat - src/journal.md ed/journalitem.ed \
 | ||||
|   | ed -s \
 | ||||
|   | recfmt -f templates/journalitem.rec.template \
 | ||||
|   | m4 \
 | ||||
|   >> www/journal.xml \
 | ||||
|   && echo '</channel></rss>' >> www/journal.xml | ||||
|   #!/usr/bin/env zsh | ||||
|   echo "<rss version=\"2.0\"><channel><title>cleric + thief</title>" > www/journal.xml | ||||
|   echo "<link>http://tilde.town/~dozens/clericthief/index.html</link><description>behind the scenes of cleric + thief</description><atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://tilde.town/~dozens/clericthief/journal.xml\"/>" >> www/journal.xml | ||||
|   ed -s !'markdown src/journal.md' << HEREDOC | recfmt -f templates/journalitem.rec.template | m4 >> www/journal.xml | ||||
|   /BEGIN/ka | ||||
|   /END/kb | ||||
|   1,'ad | ||||
|   'b,d | ||||
|   g/^<h2>/+s/^/note: / | ||||
|   v/^note/s/^/+ / | ||||
|   %s/+ <h2>/<h2>/ | ||||
|   %s_^<h2><time>\(.*\)</time> - \(.*\)</h2>_\\ | ||||
|   time: \1\\ | ||||
|   title: \2_ | ||||
|   g/^+ $/d | ||||
|   ,w /dev/stdout | ||||
|   Q | ||||
|   HEREDOC | ||||
|   echo '</channel></rss>' >> www/journal.xml | ||||
| 
 | ||||
| # build all rss
 | ||||
| rss: episoderss journalrss | ||||
|  | ||||
| @ -5,11 +5,9 @@ | ||||
|   <pubDate>syscmd(`gdate -d {{time}}')</pubDate> | ||||
|   <description> | ||||
|     <![CDATA[ | ||||
|       <pre> | ||||
| changequote(<!,!>)dnl Or else `code blocks` confuse m4 | ||||
| {{note}} | ||||
| changequote`'dnl change quotes `back to default' | ||||
|       </pre> | ||||
|     ]]> | ||||
|   </description> | ||||
| </item> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user