kopia lustrzana https://github.com/learn-awesome/learndb
Showing IPFS, SciHub, LibGen, OpenLibrary links in ItemDetail
rodzic
7df945aa5a
commit
0264b39b21
|
@ -17,9 +17,9 @@
|
|||
|
||||
`description` can contain markdown with multiple lines.
|
||||
|
||||
`links` is an array value separated by `;`. Each item in this array a pair of `format` and `url` separated by `|`. For eg, `links` can have a value like this: `summary|https://sivers.org/book/Decisive;book|https://www.goodreads.com/book/show/15798078-decisive;summary|https://fourminutebooks.com/decisive-summary/`.
|
||||
`links` is an array value separated by `;`. Each item in this array is `format`, `url` and optional identifiers separated by `|`. For eg, `links` can have a value like this: `summary|https://sivers.org/book/Decisive|ipfs:bafykbzaceaejt6z54qnwnl3ccvw2lsdfksbeuwuh4sv77ixj4c3ldeof2c5so?filename=Daniel%20Higginbotham%20-%20Clojure%20for%20the%20Brave%20and%20True-No%20Starch%20Press%20%282015%29.pdf;book|https://www.goodreads.com/book/show/15798078-decisive;summary|https://fourminutebooks.com/decisive-summary/|doi:https://doi.org/10.2307/2687687`.
|
||||
|
||||
We are considering including other fields like `ipfsHash` and `image` in each value of `links`. This decision is yet to be made.
|
||||
Currently `ipfs:` and `doi:` identifiers are supported. In future, ISBN can also be supported using the `isbn:` or `isbn13:` schemes.
|
||||
|
||||
`topics` is a array value of topic names separated by `;`. These should exactly match `topics` table's `name` column.
|
||||
|
||||
|
@ -29,7 +29,7 @@ We are considering including other fields like `ipfsHash` and `image` in each va
|
|||
|
||||
`rating` is on a 5.0 point scale with up to two decimal places allowed. This is a curated value and should not be simply copied from external sources.
|
||||
|
||||
`tags` can describe quality: `visual`, `entertaining`, `challenging`, `inspirational`, `interactive`.
|
||||
`tags` can describe quality: `visual`, `entertaining`, `challenging`, `inspirational`, `interactive`, `oer`. `oer` stands for "Open Educational Resource" and can be used if the linked content does not require payment or user login.
|
||||
|
||||
## reviews.csv
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ adf56f30-e1b7-4118-ab87-63dd71b1e90a,Yogthos,,,blog|http://yogthos.net/,programm
|
|||
–Write macros to modify Clojure itself
|
||||
–Use Clojure’s tools to simplify concurrency and parallel programming
|
||||
|
||||
Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!",https://www.braveclojure.com/assets/images/home/png-book-cover.png,book|https://www.amazon.in/Clojure-Brave-True-Ultimate-Programmer/dp/1593275919,programming-languages/clojure,,2015,,,,
|
||||
Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!",https://www.braveclojure.com/assets/images/home/png-book-cover.png,book|https://www.amazon.in/Clojure-Brave-True-Ultimate-Programmer/dp/1593275919|ipfs:bafykbzaceaejt6z54qnwnl3ccvw2lsdfksbeuwuh4sv77ixj4c3ldeof2c5so?filename=Daniel%20Higginbotham%20-%20Clojure%20for%20the%20Brave%20and%20True-No%20Starch%20Press%20%282015%29.pdf,programming-languages/clojure,,2015,,,,
|
||||
15c783d5-7de7-4de9-9fdf-993c719dbd6a,The Joy of Clojure,"
|
||||
If you've seen how dozens of lines of Java or Ruby can dissolve into just a few lines of Clojure, you'll know why the authors of this book call it a ""joyful language."" Clojure is a dialect of Lisp that runs on the JVM. It combines the nice features of a scripting language with the powerful features of a production environment—features like persistent data structures and clean multithreading that you'll need for industrial-strength application development.","https://www.amazon.com/images/I/51LKOYzkfWL._SX399_BO1,204,203,200_.jpg",book|http://www.joyofclojure.com/,programming-languages/clojure,,2011,,,,
|
||||
4dc11b07-ba98-452c-a085-8e38e39f4153,Visualizing Git,,,interactive|http://git-school.github.io/visualizing-git/,software-tools/git,,,,,,oer
|
||||
|
|
Nie można wyświetlić tego pliku, ponieważ jest on zbyt duży.
|
BIN
learn.db
BIN
learn.db
Plik binarny nie jest wyświetlany.
|
@ -127,16 +127,31 @@
|
|||
{#each item.links.split(";") as type}
|
||||
<sl-button-group>
|
||||
<sl-button size="small" href={type.split("|")[1]} target="_blank">{type.split("|")[0]} at {get_tld(type.split("|")[1])} <sl-icon name="link-45deg"></sl-icon></sl-button>
|
||||
{#if type.split("|")[2]}
|
||||
<sl-dropdown placement="bottom-end" on:sl-select="{e => document.location.href = e.detail.item.value}">
|
||||
{#if type.split("|")[2] || type.split("|")[0] === 'book'}
|
||||
<sl-dropdown placement="bottom-end" on:sl-select="{e => window.open(e.detail.item.value, '_blank')}">
|
||||
<sl-button slot="trigger" size="small" caret>
|
||||
<sl-icon name="cloud-download"></sl-icon>
|
||||
</sl-button>
|
||||
<sl-menu>
|
||||
<sl-menu-item value={'https://cloudflare-ipfs.com/ipfs/' + type.split("|")[2]}>Cloudflare</sl-menu-item>
|
||||
<sl-menu-item value={'https://ipfs.io/ipfs/' + type.split("|")[2]}>IPFS.io</sl-menu-item>
|
||||
<sl-menu-item value={'https://ipfs.infura.io/ipfs/' + type.split("|")[2]}>Infura</sl-menu-item>
|
||||
<sl-menu-item value={'https://gateway.pinata.cloud/ipfs/' + type.split("|")[2]}>Pinata</sl-menu-item>
|
||||
<sl-menu style="width: 200px;">
|
||||
{#if type.split("|")[2] && type.split("|")[2].startsWith('ipfs:')}
|
||||
<sl-menu-label>Download via IPFS:</sl-menu-label>
|
||||
<sl-menu-item value={'https://cloudflare-ipfs.com/ipfs/' + type.split("|")[2].replace('ipfs:','')}>Cloudflare</sl-menu-item>
|
||||
<sl-menu-item value={'https://ipfs.io/ipfs/' + type.split("|")[2].replace('ipfs:','')}>IPFS.io</sl-menu-item>
|
||||
<sl-menu-item value={'https://ipfs.infura.io/ipfs/' + type.split("|")[2].replace('ipfs:','')}>Infura</sl-menu-item>
|
||||
<sl-menu-item value={'https://gateway.pinata.cloud/ipfs/' + type.split("|")[2].replace('ipfs:','')}>Pinata</sl-menu-item>
|
||||
{/if}
|
||||
|
||||
{#if type.split("|")[2] && type.split("|")[2].startsWith('doi:')}
|
||||
<sl-menu-item value={'https://sci-hub.se/' + type.split("|")[2].replace('doi:','')}>On SciHub</sl-menu-item>
|
||||
{/if}
|
||||
|
||||
{#if type.split("|")[0] === 'book'}
|
||||
<sl-divider></sl-divider>
|
||||
<sl-menu-label>Look up on:</sl-menu-label>
|
||||
<sl-menu-item value={'http://libgen.rs/search.php?req=' + encodeURIComponent(item.name)}>LibGen</sl-menu-item>
|
||||
<sl-menu-item value={'https://openlibrary.org/search?q=' + encodeURIComponent(item.name)}>OpenLibrary</sl-menu-item>
|
||||
<sl-menu-item value={'https://www.goodreads.com/search?q=' + encodeURIComponent(item.name)}>GoodReads</sl-menu-item>
|
||||
{/if}
|
||||
</sl-menu>
|
||||
</sl-dropdown>
|
||||
{/if}
|
||||
|
|
Ładowanie…
Reference in New Issue