Coder Social home page Coder Social logo

binyamin / binyam.in Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 3.0 18.06 MB

:house: My personal website

Home Page: https://binyam.in

License: MIT License

HTML 9.11% JavaScript 35.03% CSS 6.88% SCSS 20.20% Nunjucks 28.78%
blog css eleventy html indieweb js personal personal-website

binyam.in's Introduction

Shalom, I'm Binyamin

I'm a college student, web developer, and Jew from Baltimore, Maryland. I'd like to expand my network, so please get in touch.

๐Ÿฅ‡ I'm proud of my personal website
โ™Š There's this new type of web/internet/thingy named Gemini, and I'm making a browser for it.
โ“ Not sure what to put here. I'm pretty boring.

Buy me a coffee Ping me on twitter Ping me on mastodon Talk with me

binyam.in's People

Contributors

binyamin avatar dependabot[bot] avatar pdehaan avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

binyam.in's Issues

Small issue with code from blog post

Hey, Binyamin. I read your article Filter Posts by tag and implemented the search by data-tags feature on my site. It works great!

I did notice one minor issue. When attempting to use filter on the NodeList from querySelectorAll, it throws an error that posts is not a generic array and doesn't have access to array methods like filter (since its a NodeList).

const posts = document.querySelectorAll(".post");
...
let postsNoTag = posts.filter(l => {
        return JSON.parse(l.dataset.tags).includes(tag) === false;
    });

Solution 1:

Convert the posts NodeList (which is iterable) into an array

const posts = [...document.querySelectorAll(".post")];

Solution 2:

Apply filter on the static results of the posts NodeList

let postsNoTag = Array.prototype.filter.call(posts, function(l) {
        return JSON.parse(l.dataset.tags).includes(tag) === false;
    });

Solution 3:

Use the good ole Array.from() method.

const posts = Array.from(document.querySelectorAll(".post");

Maybe something to note in the article, or just update to one of the above solutions. Let me know your thoughts @binyamin

post titles don't show

It's because the variable meta.isPost isn't being calculated for posts. So the code to create the title is breaking.

search functionality

A searchbar would improve the ability for users to find things.

Requirements

  • UI implementation
  • search index (generated when site is built)
  • search functionality (actual JS)

Possible Solution
From Dawid Gawel at Jamstack Conf (video)
When the site is build, create a search index with elasticlunr, export it as JSON, and save it to /functions. Use Netlify functions or Cloudflare workers to expose a search endpoint.

Add url embeds widgets

  • Microlink has a free api for this. See https://api.microlink.io/?url=https://github.com/binyamin/binyam.in. Note that microlink won't scale well, because you only get 50 requests per day on the free tier. Even if I'm generating on build, I could run into request limits down the road.
  • Use some tool to pull data on build. Microlink does a lot of parsing, but I probably just need one or more of OpenGraph, Twitter, oEmbed, and JSON LD (structured data). In that order, probably.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

npm
package.json
  • @11ty/eleventy ^2.0.1
  • @binyamin/data-cache ^1.1.0
  • @binyamin/markdown-it-wikilinks ^1.1.1
  • dayjs ^1.11.10
  • del ^6.1.1
  • highlight.js ^11.9.0
  • markdown-it ^13.0.2
  • markdown-it-anchor ^8.6.7
  • markdown-it-attrs ^4.1.6
  • markdown-it-external-anchor ^1.0.0
  • markdown-it-footnote ^3.0.3
  • node-fetch ^3.3.2
  • title-case ^3.0.3

  • Check this box to trigger a request for Renovate to run again on this repository

filter publishable notes by frontmatter

Only publish notes which have the publish frontmatter key set to true.

Also, just clone the notes into a temporary directory, parse the frontmatter, and copy the appropriate files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.