You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enhance Site Navigation: Add Search Bar to Navbar #90
To improve site navigation and make it easier for users to find information, this issue proposes adding a search bar to the main navigation bar. This will allow users to quickly search the site's content.
This is a great idea. If implemented, I think it would be of limited use if the scope only included the webpage content itself.
What would be particularly useful is if it included the Develop Branch of the Documentation. I am not sure how difficult this will be, but it would also be great to update (#18) and index our package documentation.
This is a great idea. If implemented, I think it would be of limited use if the scope only included the webpage content itself.
What would be particularly useful is if it included the Develop Branch of the Documentation. I am not sure how difficult this will be, but it would also be great to update (#18) and index our package documentation.
@dlebauer Okay, I understand. I'll look into including the Develop Branch and indexing the package documentation. Thanks for the feedback!
Thanks @divine7022 ! Just to be clear, I meant 'the develop branch of the documentation' ... not the entire develop branch (though once #18 is implemented it would be great to include that as well).
Thanks @divine7022 ! Just to be clear, I meant 'the develop branch of the documentation' ... not the entire develop branch (though once #18 is implemented it would be great to include that as well).
@dlebauer
Hello sir I am currently working on indexing the develop branch of the documentation using Algolia’s crawler. I’m in the process of setting it up and testing to ensure that search results work correctly, and i am trying to make it work.
Let me know if you have any specific requirements or suggestions!
Thank you
I initially used a local search library, which worked for searching static site content like blogs, publications, and the about page. However, it couldn't search the documentation content since the documentation is rendered from the pecan-documentation repository, which is built by GitHub Actions.
To address this, I integrated Algolia's crawler to index both:
The develop branch of the documentation.
The PecanProject.github.io website.
However, I encountered two issues:
The URLs of the develop branch documentation are indexed properly, but when searching from the website, an extra parameter is being appended to the URL (e.g., http://localhost:3000/pecan-documentation/develop/demo-table.html#demo-table).
For the PecanProject.github.io website, all indexed results are pointing to the base URL (https://pecanproject.github.io/) instead of their respective pages.
And also still there are other issues need to be fixed.
I’m investigating how Algolia is handling URL fragments (#demo-table).
I’m reviewing Algolia’s crawler configuration to ensure it correctly indexes individual pages on the website.
I'll record a POC video demonstrating the current implementation and issues.
@allgandalf
Initially, the search bar in this image was built using a local search library, which worked correctly for searching the website's content (such as blogs, about, publications, etc.).
I do not trust their free tier to be free. From the pricing FAQ: "Search operations are triggered when a search is performed. In autocomplete and search-as-you-type implementations, a new search request is performed on every keystroke." 😬
No, and I do not plan to spend more time on it. PEcAn is built to be reliably free for everyone; Trying to find loopholes to use paid services for free is a bad use of our time.
@infotroph did you check if we can trigger the search on debounced inputs ? a timeout of say 2 seconds after the user has stopped typing would help
It seems to be a good idea. Using a debounced input with a 2-second delay before sending a request could significantly reduce the number of API calls, preventing unnecessary searches on every keystroke. This might help us stay within the free tier limits. However, we'd need to test how well it works in practice.
@divine7022 lets get away from using 3rd party tool, try if you can find any open source tool for this, else we should focus on what we can do now with the available resources
Hello @allgandalf,
Got it! I'll look into open source alternatives for search functionality. If I find a suitable one, i will test its integration. Otherwise, will explore how we can enhance the current approach with available resources.
Let me know if you have any preferences regarding potential solutions.
@allgandalf I really apologize to for the delay, since I am tied up with other tasks I couldn't look at this sooner, but I'll try completing this as soon as possible.
Thanks for your patience and reviewing #88
@allgandalf I apologize for the delay in responding here -- I paused this work because of the follow-up discussion here: #91 (comment)
Please go through all the comments starting from the one I cited.
Activity
dlebauer commentedon Feb 18, 2025
This is a great idea. If implemented, I think it would be of limited use if the scope only included the webpage content itself.
What would be particularly useful is if it included the Develop Branch of the Documentation. I am not sure how difficult this will be, but it would also be great to update (#18) and index our package documentation.
divine7022 commentedon Feb 18, 2025
@dlebauer Okay, I understand. I'll look into including the Develop Branch and indexing the package documentation. Thanks for the feedback!
dlebauer commentedon Feb 18, 2025
Thanks @divine7022 ! Just to be clear, I meant 'the develop branch of the documentation' ... not the entire develop branch (though once #18 is implemented it would be great to include that as well).
divine7022 commentedon Feb 18, 2025
@dlebauer Got it! Thank you
divine7022 commentedon Feb 20, 2025
@dlebauer
Hello sir I am currently working on indexing the develop branch of the documentation using Algolia’s crawler. I’m in the process of setting it up and testing to ensure that search results work correctly, and i am trying to make it work.
Let me know if you have any specific requirements or suggestions!
Thank you
allgandalf commentedon Mar 1, 2025
Can you update this branch with a POC video ?
divine7022 commentedon Mar 1, 2025
@allgandalf Hello sir Thank you for feedback!
I initially used a local search library, which worked for searching static site content like blogs, publications, and the about page. However, it couldn't search the documentation content since the documentation is rendered from the pecan-documentation repository, which is built by
GitHub Actions.To address this, I integrated Algolia's crawler to index both:
However, I encountered two issues:
http://localhost:3000/pecan-documentation/develop/demo-table.html#demo-table).https://pecanproject.github.io/) instead of their respective pages.#demo-table).divine7022 commentedon Mar 1, 2025
Untitled.video.-.Made.with.Clipchamp.2.mp4
Untitled.video.-.Made.with.Clipchamp.3.mp4
divine7022 commentedon Mar 1, 2025
@allgandalf
Initially, the search bar in this image was built using a local search library, which worked correctly for searching the website's content (such as blogs, about, publications, etc.).
Thank you!
allgandalf commentedon Mar 11, 2025
@divine7022 using algolia would cost us $$, i don't think so we want to go down with that appraoch
dlebauer commentedon Mar 11, 2025
@allgandalf and @divine7022 could the free tier could meet our needs https://www.algolia.com/pricing ? I doubt we will get anywhere near 10k searches/ month.
infotroph commentedon Mar 11, 2025
I do not trust their free tier to be free. From the pricing FAQ: "Search operations are triggered when a search is performed. In autocomplete and search-as-you-type implementations, a new search request is performed on every keystroke." 😬
allgandalf commentedon Mar 11, 2025
@infotroph did you check if we can trigger the search on debounced inputs ? a timeout of say 2 seconds after the user has stopped typing would help
infotroph commentedon Mar 11, 2025
No, and I do not plan to spend more time on it. PEcAn is built to be reliably free for everyone; Trying to find loopholes to use paid services for free is a bad use of our time.
allgandalf commentedon Mar 11, 2025
fair pointtttt
divine7022 commentedon Mar 11, 2025
It seems to be a good idea. Using a debounced input with a 2-second delay before sending a request could significantly reduce the number of API calls, preventing unnecessary searches on every keystroke. This might help us stay within the free tier limits. However, we'd need to test how well it works in practice.
allgandalf commentedon Mar 24, 2025
@divine7022 lets get away from using 3rd party tool, try if you can find any open source tool for this, else we should focus on what we can do now with the available resources
divine7022 commentedon Mar 24, 2025
Hello @allgandalf,
Got it! I'll look into open source alternatives for search functionality. If I find a suitable one, i will test its integration. Otherwise, will explore how we can enhance the current approach with available resources.
Let me know if you have any preferences regarding potential solutions.
Thanks!
allgandalf commentedon Apr 26, 2025
Hello, any update on this one @divine7022 ?
divine7022 commentedon Apr 26, 2025
@allgandalf I really apologize to for the delay, since I am tied up with other tasks I couldn't look at this sooner, but I'll try completing this as soon as possible.
Thanks for your patience and reviewing #88
allgandalf commentedon Jun 17, 2025
hey, any progress here @divine7022 ?
allgandalf commentedon Sep 4, 2025
hello @divine7022 any updates 😄
divine7022 commentedon Sep 4, 2025
@allgandalf I apologize for the delay in responding here -- I paused this work because of the follow-up discussion here:
#91 (comment)
Please go through all the comments starting from the one I cited.