├── dist └── .gitkeep ├── custom-page.hbs ├── README.md ├── .gitignore ├── src ├── fonts │ ├── jetbrains-mono.woff2 │ ├── protogroteskweb-bold.woff2 │ ├── protogroteskweb-light.woff2 │ ├── protogroteskweb-regular.woff2 │ └── protogroteskweb-extralight.woff2 ├── less │ ├── components │ │ ├── _highlight.less │ │ ├── _listing.less │ │ ├── _navigation.less │ │ ├── _avatar.less │ │ ├── _404.less │ │ ├── _fonts.less │ │ ├── _loadAnimation.less │ │ ├── _darkMode.less │ │ ├── _gradient.less │ │ ├── _post.less │ │ └── _comments.less │ ├── style.less │ └── lib │ │ └── prism.less └── js │ ├── components │ ├── external-links.js │ ├── og-images.js │ ├── newsletter.js │ ├── comment-count.js │ ├── koeing-gallery.js │ ├── blogcast-whitelabel.js │ ├── darkMode.js │ └── feature-image.js │ ├── index.js │ └── lib │ ├── svgBlob.js │ ├── noise.js │ └── prism.js ├── partials ├── navigation.hbs ├── footer.hbs └── header.hbs ├── .github ├── FUNDING.yml └── workflows │ ├── main.yml │ └── release.yml ├── custom-fiction.hbs ├── page.hbs ├── default.hbs ├── webpack.mix.js ├── base.hbs ├── error-401.hbs ├── tag.hbs ├── error-404.hbs ├── package.json ├── newsletter.hbs ├── home.hbs ├── tailwind.config.js ├── index.hbs ├── post.hbs └── amp.hbs /dist/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /custom-page.hbs: -------------------------------------------------------------------------------- 1 | {{!< page}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Miguel Piedrafita's website -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist/*.zip 3 | assets/ -------------------------------------------------------------------------------- /src/fonts/jetbrains-mono.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m1guelpf/website-theme/HEAD/src/fonts/jetbrains-mono.woff2 -------------------------------------------------------------------------------- /src/fonts/protogroteskweb-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m1guelpf/website-theme/HEAD/src/fonts/protogroteskweb-bold.woff2 -------------------------------------------------------------------------------- /src/fonts/protogroteskweb-light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m1guelpf/website-theme/HEAD/src/fonts/protogroteskweb-light.woff2 -------------------------------------------------------------------------------- /src/fonts/protogroteskweb-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m1guelpf/website-theme/HEAD/src/fonts/protogroteskweb-regular.woff2 -------------------------------------------------------------------------------- /src/fonts/protogroteskweb-extralight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/m1guelpf/website-theme/HEAD/src/fonts/protogroteskweb-extralight.woff2 -------------------------------------------------------------------------------- /partials/navigation.hbs: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: m1guelpf 4 | patreon: m1guelpiedrafita 5 | custom: https://miguelpiedrafita.com/patreon 6 | -------------------------------------------------------------------------------- /src/less/components/_highlight.less: -------------------------------------------------------------------------------- 1 | .highlight { 2 | @apply .bg-inherit .text-sepia-900 .font-medium .px-1 .rounded; 3 | 4 | background-color: #fbf9c9; 5 | 6 | transition: background-color 1s ease-in, color 1s ease-in; 7 | } 8 | 9 | body[data-dark] .highlight { 10 | background-color: #4e4b06; 11 | } -------------------------------------------------------------------------------- /src/js/components/external-links.js: -------------------------------------------------------------------------------- 1 | const isInternal = new RegExp(location.host) 2 | const isMailto = /^mailto:.*/ 3 | 4 | Array.from(document.getElementsByTagName('a')).filter(link => { 5 | return ! isInternal.test(link.href) && ! isMailto.test(link.href) 6 | }).forEach(link => { 7 | link.target = '_blank' 8 | link.rel = 'noopener' 9 | }) -------------------------------------------------------------------------------- /src/js/components/og-images.js: -------------------------------------------------------------------------------- 1 | if (document.body.classList.contains('post-template')) { 2 | const url = `https://og.m1guelpf.me${(new URL(document.location.href)).pathname}` 3 | 4 | document.querySelector('meta[property="og:image"]').setAttribute('content', url) 5 | document.querySelector('meta[name="twitter:image"]').setAttribute('content', url) 6 | } -------------------------------------------------------------------------------- /src/less/components/_listing.less: -------------------------------------------------------------------------------- 1 | [data-article-listing] { 2 | h2 { 3 | @apply .mb-1 .text-lg; 4 | } 5 | 6 | p { 7 | @apply .font-medium .text-base .mb-10; 8 | } 9 | 10 | a { 11 | @apply .border-b-2 .border-transparent; 12 | 13 | &:hover { 14 | @apply .text-gradient .border-gradient; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /custom-fiction.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | {{> header }} 4 | 5 | {{#post}} 6 |{{ date format="DD/MM/YY" }}
9 |– 401 –
6 |HOW DARE YOU
7 |How dare you try and invade my privacy like this ಠ╭╮ಠ
8 | ← Go home 9 |{{ description }}
10 |{{excerpt}}
28 |– 404 –
6 |W H Y
7 |Why do you do this to me, you got my hopes up to serve you a page but as always you request the impossible :(
8 | ← Go home 9 |I send an email every saturday with project updates, article drafts & general thoughts. I'll never spam you or share your information with anyone.[1]
10 |Ideally everyone should, but sadly this isn't always the case. I believe privacy is a fundamental human right and the lack of it is one of the worst problems in today's society, and I promise you I'd never sell or trade your information.
26 |I'm currently dedicating most of my time to building Sitesauce, a one-click solution to create static sites from any dynamically-generated website (like WordPress or Ghost sites) and keep them updated when content changes.
10 | 11 |Before that, I built and sold Blogcast, a service that uses state of the art text-to-speech technology to automate article narration. I also built and sold UnMarkDocs, an service to generate beautiful documentation pages with super-powerered markdown.
12 | 13 |I've also started and worked on many other projects that unfortunately never saw the light of day, like Snaptier or Maker Army. You can see a complete list of all my current and past projects here.
14 | 15 |I enjoy to contributing to open source on GitHub where I've helped over 500 projects, and mantaining an online coding community for teenagers I founded. I also love to learn new things, and especially enjoy researching about philosophy, psychology and other subjects while studying the International Baccalaureate.
16 | 17 |If you've reached this point, you probably want to learn more about my projects or read my articles. You can also follow me on Twitter, where I actively share what I'm working on, or subscribe to my newsletter to get regular updates on my projects.
18 |I like to write about things that have helped me and about things I think can help others. The ones with a bookmark icon next to them are my favourites.
9 | {{else}} 10 |20 | 21 | Featured post | {{ date format="YYYY-MM-DD" }} 22 |
23 |Enjoyed the article? Consider sharing it on Twitter so others can enjoy it too :)
19 | 20 | 23 | Share on Twitter 24 | 25 |Receive project updates, article drafts & thoughts on your inbox every saturday.
29 | Subscribe → 30 |