mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Added pure m4 example
This commit is contained in:
		
							
								
								
									
										38
									
								
								samples/M4/htmlgen.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								samples/M4/htmlgen.m4
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| dnl Took from https://en.wikipedia.org/wiki/M4_(computer_language) | ||||
| divert(-1) | ||||
|  | ||||
| M4 has multiple output queues that can be manipulated with the | ||||
| `divert' macro. Valid queues range from 0 to 10, inclusive, with | ||||
| the default queue being 0. | ||||
|  | ||||
| Calling the `divert' macro with an invalid queue causes text to be | ||||
| discarded until another call.  Note that even while output is being | ||||
| discarded, quotes around `divert' and other macros are needed to | ||||
| prevent expansion. | ||||
|  | ||||
| # Macros aren't expanded within comments, meaning that keywords such | ||||
| # as divert and other built-ins may be used without consequence. | ||||
|  | ||||
| # HTML utility macro: | ||||
|  | ||||
| define(`H2_COUNT', 0) | ||||
|  | ||||
| # The H2_COUNT macro is redefined every time the H2 macro is used: | ||||
|  | ||||
| define(`H2', | ||||
| 	`define(`H2_COUNT', incr(H2_COUNT))<h2>H2_COUNT. $1</h2>') | ||||
|  | ||||
| divert(1)dnl | ||||
| dnl | ||||
| dnl The dnl macro causes m4 to discard the rest of the line, thus | ||||
| dnl preventing unwanted blank lines from appearing in the output. | ||||
| dnl | ||||
| H2(First Section) | ||||
| H2(Second Section) | ||||
| H2(Conclusion) | ||||
| dnl | ||||
| divert(0)dnl | ||||
| dnl | ||||
| <HTML> | ||||
| undivert(1)dnl One of the queues is being pushed to output. | ||||
| </HTML> | ||||
		Reference in New Issue
	
	Block a user