enjalot / blockbuilder-search Goto Github PK
View Code? Open in Web Editor NEWAPI endpoint and UI for blockbuilder search page
API endpoint and UI for blockbuilder search page
may provide better accessibility and a better experience on some screen sizes. might be nicer than
just cmd +
browser zoom
for accessibility and scannability purposes i'd bump up the font sizes for 'block-description' to 18/24 and 'block user' to 14/18
taking this advice, working back to the problem statement, and imagining a different solution. increasing the size of the block description
and the block user
text without increasing the size of the block result card doesn't look quite right ๐ค
inspired by #12
User Story:
As a Blockbuilder Search user, I want the thumbnail filter state (the boolean corresponding to the checkbox) to be part of the URL, so that I can share links to results pages that only include thumbnails.
Desired behavior:
parse twitter feedback into github issues
good ideas from @nbremer and @monfera about improving our search and filtering
should probably url-encode the space as %20
current: http://blockbuilder.org/search#text=tidy tree
prettier format the codebase https://prettier.io
precompute function list and module list
while we can get these from an elastic live search query, it is likely a better user experience if the list is precomputed and already loaded when the user clicks on the d3 API function or d3-modules dropdown menu.
since the list probably does not change too often, it should be safe to precompute server-side.
allow user to optionally sort empty-search-term latest results by most recently updated
support for sorting blocks by most recently update would be nice. (the current default sort is most recently created blocks)
filter search results by block license
a feature request from @y3l2n
as a user, I want to search for blocks with permissive licenses like MIT
or Apache-2.0
add missing bundle by running yarn build
add missing bundle.js
omitted in this PR #64
infinite scroll
the client issue for enjalot/blockbuilder-search-index#45
details and motivation there
checked queries have been tested to work with Elasticsearch v6.4.0
Filtered query https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
Disjoint max query https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html
figure out why we commit bundle.js to git
inspired by this PR comment #62 (review)
investigate queries that return a result containing the same gist id twice
search for the query force
https://blockbuilder.org/search#text%3Dforce
log out the key for the result div in the components/results.js
May 2016 Elasticsearch 2.3.4
is a known working version
related to #15
investigate how elasticsearch handles case in queries for keyword fields
earlier I thought that elasticsearch stored all the usernames as lower-cased strings. now that I look more closely at this dejavu UI for our elasticsearch index, that does not seem to be true:
(the project is https://github.com/appbaseio/dejavu)
it would be nice to be able to filter blockbuilder search results to show only blocks that have (or do not have) some combination of these conventionally named image files:
thumbnail.png
preview.png
improve project structure
put source code in a src
directory, and generally follow community conventions for react apps to make blockbuilder-search more accessible to new contributors.
before we used views
(handlebar views) and react
(react components) as directory names, to organize code by technology.
something like this perhaps
from file in this React tutorial repo
feature idea ๐ก
add a "search on observable" button that would take the current search query and open a new browser window (tab) with an observable hq search for that current blockbuilder.org/search search query
here is the url format for the observable search page
https://beta.observablehq.com/search?query=isometric%20logos
add eslint for code quality https://eslint.org/
search code, text, and block images in a common vector space, with an approach like described in this post https://towardsdatascience.com/semantic-code-search-3cd6d244a39c
this component should be much more complete than what I hacked together
https://jedwatson.github.io/react-select/
mixed content warning - replace http links with https links
d3.js:1999 Mixed Content: The page at 'https://blockbuilder.org/search' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://christopheviau.com/block_screenshot/screenshot_list.json'. This request has been blocked; the content must be served over HTTPS.
find some mouse and/or keyboard actions that are intuitive and play nicely with existing blockbuilder search UI and existing browser hotkeys
related to #6
perhaps with font-awesome?
http://fontawesome.io/icon/plus/
http://fontawesome.io/get-started/
inspired by #12
as requested by @curran is there any way to search for multiple users on Blockbuilder search? e.g. enjalot OR micahstubbs
http://blockbuilder.org/search#user%3Denjalot%20OR%20micahstubbs
as mentioned by @enjalot in this blockbuilder PR conversation enjalot/blockbuilder#209
perhaps a cmd+click
and/or ctrl+click
on the block thumnbail image could open the example on bl.ocks.org?
single clicking could retain it's current open-in-blockbuilder-editor behavior
make url hash more human-readable
what if instead of this
http://[::]:8889/search#textt%3Dforce
we had this:
http://[::]:8889/search#text=force
?
to make it easier to find d3 examples that have some level of documentation
related to #6
a collaborative filtering recommendation engine that learns from user search behaviors and recommends search results based on the search behavior of similar users.
make username search case-insensitive
searching for Fil
should return the same results as fil
searching for RobertDelgado
should return the same results as robertdelgado
so for example, both:
fil
and Fil
would return results for github user Fil
:
http://blockbuilder.org/search#user=fil
http://blockbuilder.org/search#user=Fil
assumption to validate: that github doesn't allow usernames with the same characters in different case
caused by #8
inspired by #5
imagine a search interface that returns similar blocks when you specify the github gist id of a certain block. this search feature would offer a low-cognitive-load way for users to see more blocks that are similar to a certain block.
Oh, I like that. Show me more blocks like that!
a working definition of similarity
could be all blocks within 2 degrees of the searched block
. the number of degrees to search could be user-configurable.
the search should return blocks that are similar across all graphs indexed by blockbuilder search. today, these metadata graphs are
README.md
links graph dataother networks of interactions or shared properties of d3js blocks
some of the data use to construct these graphs is collected at blockbuilder-search-index/data/parsed
the graph used to return search results should also be user-configurable
processed versions of the checked graphs can be found at: https://github.com/micahstubbs/blockbuilder-graph-search-index/tree/master/data/csv-graphs-for-neo4j
add gcp credit to the footer on the search results page
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.