KiCad Project Explorer

I’ve archived the dedicated KiCad Project Explorer and am only actively updating RepoRecon since that subsumes everything else.

Also, you don’t have to type the full “description”. All you need is enough of the beginning of the string to identify the header. So “d:” would work for the description column, and “o:” for the owner column.

That is of course nice and all, but in two weeks the link to the KiCad project explorer has accumulated 63 clicks, while RepoRecon somewhere in the middle of this thread has 8 of them. I suggest you also update your opening post in this thread so it links to the right place.

Good idea! (I didn’t even know you could do that…)

That did the trick! Many thanks!

I have two simple idea’s for improvements:

  1. Add an “info box” thingie. Those things get automatically rendered by this forum software into a box with an icon and such.

https://devbisme.github.io/RepoRecon/

  1. Add a way to encode search strings in the URL itself. The reason is that it would be nice to spread single click search solutions on this forum. For example in this thread:

I had to type a few lines of text as a manual how to do a search for raspberry related stuff with RepoRecon. If those two things are changed, I can omit that text, just post the URI with the custom search, and for the reader it reduces a response to a single mouse click on the info bar with your icon.

I’ve searched for an hour with Google and ChatGPT and neither has shown me how to do this. [info]...[/info] was the closest hit, but it doesn’t work within a post. And where would I place this? Inside the first post of this thread?

OK, I can do that. I also need to extend the search string capabilities.

Good suggestions!

I’ve been searching a bit and it took some trouble to find more info. First my apologies for using the wrong name. That makes it difficult to find. I’m still not sure what the real name is. Some call it “link preview” or “social media preview”.

It is the og:xxx and twitter:xxx meta tags from which the previews are generated.

The ‘og’ stands for “Open Graph” and their website seems to have a nice desctiption.

I think both the og and twitter tags do the same, and both are probably non standard. Below a link to an example that uses the twitter tings.

https://dinojoaocosta.medium.com/how-to-make-twitter-preview-your-website-links-5b20db98ac4f

Also, below an excerpt from the THML of a page on this forum (wich also generates these previews). I copied it from: FireFox Hamburger / More Tools / Web Developer Tools then open the <head> of a page on this forum, you see both the og and twitter tags being used:

<head>
    <meta charset="utf-8">
    <title>KiCad.info Forums</title>
    <meta name="description" content="A place to discuss KiCad!">
    <meta name="discourse_theme_id" content="1">
    <meta name="discourse_current_homepage" content="latest">

...
        <link rel="next" href="/latest?no_definitions=true&amp;page=1">
    <link rel="alternate" type="application/rss+xml" title="Latest posts" href="https://forum.kicad.info/posts.rss">
    <link rel="alternate" type="application/rss+xml" title="Latest topics" href="https://forum.kicad.info/latest.rss">
    <meta property="og:site_name" content="KiCad.info Forums">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://kicad-info.s3.dualstack.us-west-2.amazonaws.com/original/3X/1/1/112bdb9138f994a67b6b93184699acca74e5d5fe.png">
<meta property="og:image" content="https://kicad-info.s3.dualstack.us-west-2.amazonaws.com/original/3X/1/1/112bdb9138f994a67b6b93184699acca74e5d5fe.png">
<meta property="og:url" content="https://forum.kicad.info/">
<meta name="twitter:url" content="https://forum.kicad.info/">
<meta property="og:title" content="KiCad.info Forums">
<meta name="twitter:title" content="KiCad.info Forums">
<meta property="og:description" content="A place to discuss KiCad!">
<meta name="twitter:description" content="A place to discuss KiCad!">
...

Here’s the RepoRecon link preview. I guess the forum software only expands a link upon creating a post. It doesn’t go through old posts and update the links.

2 Likes

Thank you! This is a great tool, I’ll be checking all my favorite tools for related projects!

Can you filter by value ranges? Like stars>1, size>12345 (maybe even combined)?
Cool list, but unless you have a specific keyword I find it difficult to find relevant repos.

Hello.
For a future release, would it be possible to select a kicad project for a particular component ?
Best regards

This could be done by expanding the capabilities of the Filter field. Probably best to enter this as an enhancement issue on Github so it doesn’t get forgotten.

RepoRecon is more of a general-purpose tool for finding interesting Github repositories on a given topic. It doesn’t look inside files, so it can’t find what components are used. That seems more specialized and appropriate only for KiCad-related repos.

It might make more sense to try and resurrect the leopart-hq project since it already does this. We might be able to use as-is the part where it crawls Github and creates a database of KiCad repos and their components. If the database is stored as an SQLite file, then we could build a simple single-page web app like in RepoRecon to do database searches and return the list of repos that match. That sounds easy, in theory.

OK, I have this working.

If you want to create a link that displays a table of collected repositories on a specific topic, you can attach query parameters to the RepoRecon link like so:

devbisme.github.io/RepoRecon?topic=kicad&filter=desc:raspberry&sort=stars:desc

The link above will display a table of KiCad repositories that have the string raspberry in their descriptions starting with the most starred repositories. The topic parameter must specify a string that matches a substring within the list of topics. The filter and sort parameters each start with a label that matches the beginning of one of the following table column names: description, owner, stars, forks, size, pushed. For the filter parameter, the column label is followed with a colon and a string to search for. For the sort parameter, the column label is followed by asc or desc to sort the table entries by the contents of the specified column in ascending or descending order going downwards.

3 Likes

Encoding search data works. :slight_smile:
Just dropped a link on Hackaday that finds over 80 RP2040 related projects. (And does a bit of context related KiCad promoting at the same time).

1 Like

I have a version of RepoRecon that supports filtering across the columns of the table. For your filter example, the filter field would be stars:>1 && size:>12345. The primary thing you need to do is reference column names using the name followed by a colon (:). The original name:string filter that extracts all table rows having string within column name still works, but now you can use logical operators (&&, ||, and !) and comparison operators (<, >, ==) along with parentheses for grouping. For example, this would filter for repos having combined stars and forks greater than 100 and a size of at least 10000:

(stars: + forks: > 100) && size:>=10000
1 Like

For the command line syntax, instead of explaining it, I guess it’s easier when RepoRecon generates an URL with the embedded search syntax. That way you can do any search combination you like, and copy the full URL to reproduce the same search without knowing the syntax.

I see it now limits the results to 10 by default, and to 100 max. Apart from the EU cookie madness this is my second most disliked feature of websites. It just leads to extra useless clicking.

It also does “live update” during typing. It works, but I personally don’t care for it. I am used to hitting the enter key to do a search. I only find the auto suggestions of keywords (on other websites) mildly useful. If it’s a choice, I’d rather have a few hundred results after hitting Enter, then a live update.

You’ll still need to know the syntax to enter it into the Filter field. But the completed URL with the embedded filter will now be displayed in the browser search bar so you can cut-and-paste that to send to others.

I changed the page size settings and now make it default to 100 entries. The maximum is 1,000. If you go past 3,000 then you risk getting an “unresponsive page” warning.

Nice! Thanks!
Maybe you should add an info button (i) next to the filter explaining this. Otherwise there will be only few users of this great feature!