├── .gitignore ├── src ├── blog │ └── index.md ├── about.md └── _includes │ └── base.liquid ├── package.json ├── .eleventy.js └── www ├── about └── index.html └── blog └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /src/blog/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: BlOg PaGe 3 | layout: base.liquid 4 | --- 5 | 6 | ## {{ title }} 7 | 8 | {% for idx in (1..45) %} 9 | paragraph {{ idx }} 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /src/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: AbOuT PaGe 3 | layout: base.liquid 4 | --- 5 | 6 | ## {{ title }} 7 | 8 | {% for idx in (1..25) %} 9 | About page paragraph {{ idx }} 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /src/_includes/base.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ title }} 6 | 7 | 8 | 9 |
{{ content }}
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "11ty-2355", 3 | "description": "", 4 | "version": "1.0.0", 5 | "author": "Peter deHaan ", 6 | "bugs": { 7 | "url": "https://github.com/pdehaan/11ty-2355/issues" 8 | }, 9 | "devDependencies": { 10 | "@11ty/eleventy": "^1.0.1", 11 | "cheerio": "^1.0.0-rc.10" 12 | }, 13 | "homepage": "https://github.com/pdehaan/11ty-2355#readme", 14 | "keywords": [], 15 | "license": "MPL-2.0", 16 | "main": ".eleventy.js", 17 | "repository": { 18 | "type": "git", 19 | "url": "git+https://github.com/pdehaan/11ty-2355.git" 20 | }, 21 | "scripts": { 22 | "build": "eleventy", 23 | "test": "echo \"Error: no test specified\" && exit 1" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.eleventy.js: -------------------------------------------------------------------------------- 1 | const cheerio = require("cheerio"); 2 | 3 | module.exports = function (eleventyConfig) { 4 | eleventyConfig.addTransform("inject-ads", function (content) { 5 | // Guart for `permalink:false`. 6 | if (!this.outputPath) { 7 | return content; 8 | } 9 | // Only inject ads into **/blog/*.html pages. 10 | if (this.outputPath.includes("/blog/") && this.outputPath.endsWith(".html")) { 11 | const $ = cheerio.load(content); 12 | // Inject ads after 2nd

tag, then after 8,16,24,32, etc. 13 | const r = $("main p:nth-of-type(2), main p:nth-of-type(8n)"); 14 | $(r).after(""); 15 | return $.html(); 16 | } 17 | // Return original content. 18 | return content; 19 | }); 20 | 21 | return { 22 | dir: { 23 | input: "src", 24 | output: "www", 25 | } 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /www/about/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AbOuT PaGe 6 | 7 | 8 |

9 |

AbOuT PaGe

10 |

About page paragraph 1

11 |

About page paragraph 2

12 |

About page paragraph 3

13 |

About page paragraph 4

14 |

About page paragraph 5

15 |

About page paragraph 6

16 |

About page paragraph 7

17 |

About page paragraph 8

18 |

About page paragraph 9

19 |

About page paragraph 10

20 |

About page paragraph 11

21 |

About page paragraph 12

22 |

About page paragraph 13

23 |

About page paragraph 14

24 |

About page paragraph 15

25 |

About page paragraph 16

26 |

About page paragraph 17

27 |

About page paragraph 18

28 |

About page paragraph 19

29 |

About page paragraph 20

30 |

About page paragraph 21

31 |

About page paragraph 22

32 |

About page paragraph 23

33 |

About page paragraph 24

34 |

About page paragraph 25

35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /www/blog/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BlOg PaGe 6 | 7 | 8 |
9 |

BlOg PaGe

10 |

paragraph 1

11 |

paragraph 2

12 | 13 |

paragraph 3

14 |

paragraph 4

15 |

paragraph 5

16 |

paragraph 6

17 |

paragraph 7

18 |

paragraph 8

19 | 20 |

paragraph 9

21 |

paragraph 10

22 |

paragraph 11

23 |

paragraph 12

24 |

paragraph 13

25 |

paragraph 14

26 |

paragraph 15

27 |

paragraph 16

28 | 29 |

paragraph 17

30 |

paragraph 18

31 |

paragraph 19

32 |

paragraph 20

33 |

paragraph 21

34 |

paragraph 22

35 |

paragraph 23

36 |

paragraph 24

37 | 38 |

paragraph 25

39 |

paragraph 26

40 |

paragraph 27

41 |

paragraph 28

42 |

paragraph 29

43 |

paragraph 30

44 |

paragraph 31

45 |

paragraph 32

46 | 47 |

paragraph 33

48 |

paragraph 34

49 |

paragraph 35

50 |

paragraph 36

51 |

paragraph 37

52 |

paragraph 38

53 |

paragraph 39

54 |

paragraph 40

55 | 56 |

paragraph 41

57 |

paragraph 42

58 |

paragraph 43

59 |

paragraph 44

60 |

paragraph 45

61 |
62 | 63 | 64 | --------------------------------------------------------------------------------