Giter Site home page Giter Site logo

fastai / fastpages Goto Github PK

View Code? Open in Web Editor NEW
3.5K 43.0 760.0 89.6 MB

An easy to use blogging platform, with enhanced support for Jupyter Notebooks.

Home Page: https://fastpages.fast.ai/

License: Apache License 2.0

HTML 0.58% Ruby 0.06% Dockerfile 0.01% Shell 0.17% Python 0.08% Jupyter Notebook 98.38% Smarty 0.06% JavaScript 0.32% Makefile 0.04% SCSS 0.30%
data-science jekyll-blog actions jupyter jupyter-notebooks fastai literate-programming visualization github-pages python

fastpages's People

Contributors

albertvillanova avatar anushbhatia avatar byteshiva avatar chekos avatar dependabot[bot] avatar drscotthawley avatar hamelsmu avatar hnrkptrsn avatar igorkasianenko avatar invisprints avatar joedockrill avatar jph00 avatar kaakaa avatar kiendang avatar kngwyu avatar marcingminski avatar maxghenis avatar mikonapoli avatar mldurga avatar muellerzr avatar natikgadzhi avatar peaceiris avatar postmalloc avatar scottbrenner avatar sotaworks avatar tbnv999 avatar timvink avatar tljstewart avatar tylere avatar vishakbharadwaj94 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastpages's Issues

[2020-02-27]: [Notebook conversion to blog post not showing up]

Prerequisites for filing a bug

  • Did you run the local development server as indicated in the development guide?
    • Please include any useful logs or error messages from that
  • Have you searched opened / closed issues on this repo for a similar problem?
  • Have you searched the fastai forums for a similar problem?

Please include the following information

  1. Steps to reproduce the problem
    I placed 2020-0227-*.ipynb file in _notebook which has 791 KB capacity. It failed to show up in the blog page. Am I missing something here are there any limit to notebook capacity?

image

image

I see that it has skipped because of future date, I have put the naming convention as per my local time IST. I guess the github action might be running in different time zone than mine. Any resolution for this ?

  Skipping: _posts/2020-02-27-Diagram-as-Code.md has a future date

Reference log
https://github.com/byteshiva/blog/runs/470708733?check_suite_focus=true

[29-02-2020]: [Markdown processor isn't "smart"]

Prerequisites for filing a bug

  • Did you run the local development server as indicated in the development guide?
    • Please include any useful logs or error messages from that
  • Have you searched opened / closed issues on this repo for a similar problem?
  • Have you searched the fastai forums for a similar problem?

Please include the following information

  1. Steps to reproduce the problem
    Create a hyperlink in your markdown post containing [] or | in the text.
  2. A link to your repository where error is occuring
    Private repository for now but the relevant post can be seen here https://aadibajpai.github.io/ccx.org/2019/09/03/blog-posts-our-students.html
    Look at the link rendering errors.
  3. A link to the notebook or markdown file where the error is occuring
    https://pastebin.com/YFgfruYz
  4. If the error is happening in GitHub Actions, a link to the specific error along with how you are able to reproduce this error.
  5. A screenshot / dump of relevant logs or error messages you are receiving from your local development environment.

When I preview the markdown file in Sublime, its syntax highlighting is smart enough to parse the hyperlinks but I assume fastpages renderer has a problem—the | gets interpreted as tables and the [] interfere with the [] from the hyperlink syntax.

image

Expected behaviour would be that tags are matched.

Support for embedded image objects

See #66

Copy and pasting comment by @drscotthawley:


I found a tricky interaction between nbdev & the fastpages build.

nbdev is replacing "<img src=" HTML code with Liquid "{% img src" tags.

This might not be a problem ordinarily, but when running with Liquid in fastpages, it can't handle long "src" strings.

So here's a question for both @sgugger and @hamelsmu:
Would it be better to NOT have nbdev translate the HTML "img src" tags into Liquid, or would it be better to provide fastpage's Liquid run with...whatever it needs to handle long src strings?

The original HTML code in question:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAACXCAYAAAC2qd/4AAAF4nRFWHRteGZpbGUAJTNDbXhmaWxlJTIwaG9zdCUzRCUyMnd3dy5kcmF3LmlvJTIyJTIwbW9kaWZpZWQlM0QlMjIyMDE5LTEyLTIwVDIxJTNBMjQlM0ExMS45MjRaJTIyJTIwYWdlbnQlM0QlMjJNb3ppbGxhJTJGNS4wJTIwKE1hY2ludG9zaCUzQiUyMEludGVsJTIwTWFjJTIwT1MlMjBYJTIwMTBfMTVfMCklMjBBcHBsZVdlYktpdCUyRjUzNy4zNiUyMChLSFRNTCUyQyUyMGxpa2UlMjBHZWNrbyklMjBDaHJvbWUlMkY3OS4wLjM5NDUuODglMjBTYWZhcmklMkY1MzcuMzYlMjIlMjBldGFnJTNEJTIyWnlaOEUxZjNhMW9ocEFIRDJjWEslMjIlMjB2ZXJzaW9uJTNEJTIyMTIuNC4zJTIyJTIwdHlwZSUzRCUyMmdvb2dsZSUyMiUyMHBhZ2VzJTNEJTIyMSUyMiUzRSUzQ2RpYWdyYW0lMjBpZCUzRCUyMm9vV2FBMW83X2ljR18zc1RKd2ZsJTIyJTIwbmFtZSUzRCUyMlBhZ2UtMSUyMiUzRTdWZGRiNXN3RlAwMVNOdERJckFEcEklMkY1S052REpsWHFReDhuRnh5d1lqQXpUa2o2NjNlTlRjSkgwcTVWTjJsVG8wakI1MTdmYTg3eHNSd0hyJTJGTERGMG5LN0x0SUtIZVFteHdjdkhZUThtYnpBSDQwY3JTSTN5S3BaSW5GenNBOWU2SVdkQzI2WXdtdGVvbEtDSzVZMlFkalVSUTBWajJNU0NucWZ0cEc4SDdYa3FSMEJOekhoSSUyRlJCNWFvektCejN6M2pYeWxMczdhejU5cElUdHBrVzZMS1NDSnFBelU1JTJCTmJCS3ltRU1rJTJGNVlVVzVacSUyRmx4UlNLcmtSUEM1TzBVTDh6SWJrcnFaOCUyQnBkOFc5ZE1tSWclMkZiYmVSTzVxYktudkNkZldFSEJSenFMUk8yMTR0V1I4dEU4SE9uVjdwVTlLQW1oTE8wY1BBQ01qamRhTGpodGxDVHFsRlFCN3l3UERTQmRpWThwZmEzNlpCNUZ4dTh0a3hWa3VKNm9RM0pHVCUyQmFVaEFpZVFrUm14Q0xuV1JVUXFTZzlURG9vRld6cld5S0h1U2lFTkF0cHMlMkIlMkZyd25VZGxmbzBBdzJSUk41SlBFMmxXSlhKSk5ZY0NGTldLYVBuNUR2bXliZGg4OVhYbnltdiUyRjVxVDJNblhPNmRjUDJEV2RCeUFydkEwTktuQ21CTiUyQmdoc3RHNVIxQ01UYWIyMVdDcm5BSGlhY0NYRmxxN00lMkJ0ZUZLRFFmRzhiNUFMS2JaQjNEQmdVSzhYSlBwV0pncllVTjVDeEpkSnRsblRGRjd3Mno2eHBPRXNBYWxxamV1MjR6VWtReG9XZE5zR3ZGdGFlRkY1N1dyVHZRdzFXRGVDZmJ3WUZGUlU2VlBFS0tuV0Q5NDlxakN0dGhmYlo5TUp1NnlLQlp4JTJGVHRSR0xQbXZSVSUyQm14SGVMQ09mSVU3Z3c5MyUyRnF2dURKZGcwTWNOWkM3QW54OW1mVyUyQnp6b0pwaU56T0olMkJpWk4lMkZDbUliN3BmUHlSbVQyRXBpMzhWOXdjWG5EelFEOWFKQXQ5YWRGQ2NGSlZMSDVPVFFmaFdSaEZ3U1dLOVhnZ3NabmMzbUx3U1FlYWpLNUFMNnJRNGJHOUNuVTViREZKT2V5RWZiJTJGOEpXSnRoenZCb1BGSjVNQ2QzdUNlcnA0M1VLZUNJeUNtZGw3MzlqTW81Y0haUGFqbEQwb3BJbE9xUnFVYXJVJTJCdiUyRm5iNWIlMkY2QSUyRk83YTg2UG9mNVVmbzZGa0FYNmIlMkJ2T1IlMkJCaSUyRmslMkZnd1BOJTJGaFRmcjVyeEMlMkIlMkZRVSUzRCUzQyUyRmRpYWdyYW0lM0UlM0MlMkZteGZpbGUlM0XlLOgaAAAOIklEQVR4Xu2de4zcVRXHv2d2K7Z0H8BuRUCJ4htMKjYxKpiKbHchFB8R/jDSnRaFaFRa4wMTdX+jEQU1QH03WmapMSYYNQFlt60KkWqiqRG1RE1ENEagW6HdLa+2O8ecmd9uZ2Z3Hndmfs/53n826dzfvXc+53z7u3PvOfcKWEiABJwIiFNtViYBEgBFQycgAUcCFI0jMFYnAYqGPkACjgQoGkdgrE4CFA19gAQcCVA0jsBYnQQoGvoACTgSoGgcgbE6CVA09AEScCRA0TgCY3USoGjoAyTgSICicQTG6iRA0dAHSMCRAEXjCIzVSYCioQ+QgCMB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" style="cursor:pointer;max-width:100%;" onclick="(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1&edit=_blank');}})(this);"/>

This is getting converted by nbdev to

{% include image.html style="cursor:pointer;max-width:100%;" onclick="(function(img){if(img.wnd!=null&amp;&amp;!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&amp;&amp;evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('<a href="https://www.draw.io/?client=1&amp;lightbox=1&amp;edit=_blank&#39;);}})(this">https://www.draw.io/?client=1&amp;lightbox=1&amp;edit=_blank&#39;);}})(this</a>);" file="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAACXCAYAAAC2qd/4AAAF4nRFWHRteGZpbGUAJTNDbXhmaWxlJTIwaG9zdCUzRCUyMnd3dy5kcmF3LmlvJTIyJTIwbW9kaWZpZWQlM0QlMjIyMDE5LTEyLTIwVDIxJTNBMjQlM0ExMS45MjRaJTIyJTIwYWdlbnQlM0QlMjJNb3ppbGxhJTJGNS4wJTIwKE1hY2ludG9zaCUzQiUyMEludGVsJTIwTWFjJTIwT1MlMjBYJTIwMTBfMTVfMCklMjBBcHBsZVdlYktpdCUyRjUzNy4zNiUyMChLSFRNTCUyQyUyMGxpa2UlMjBHZWNrbyklMjBDaHJvbWUlMkY3OS4wLjM5NDUuODglMjBTYWZhcmklMkY1MzcuMzYlMjIlMjBldGFnJTNEJTIyWnlaOEUxZjNhMW9ocEFIRDJjWEslMjIlMjB2ZXJzaW9uJTNEJTIyMTIuNC4zJTIyJTIwdHlwZSUzRCUyMmdvb2dsZSUyMiUyMHBhZ2VzJTNEJTIyMSUyMiUzRSUzQ2RpYWdyYW0lMjBpZCUzRCUyMm9vV2FBMW83X2ljR18zc1RKd2ZsJTIyJTIwbmFtZSUzRCUyMlBhZ2UtMSUyMiUzRTdWZGRiNXN3RlAwMVNOdERJckFEcEklMkY1S052REpsWHFReDhuRnh5d1lqQXpUa2o2NjNlTlRjSkgwcTVWTjJsVG8wakI1MTdmYTg3eHNSd0hyJTJGTERGMG5LN0x0SUtIZVFteHdjdkhZUThtYnpBSDQwY3JTSTN5S3BaSW5GenNBOWU2SVdkQzI2WXdtdGVvbEtDSzVZMlFkalVSUTBWajJNU0NucWZ0cEc4SDdYa3FSMEJOekhoSSUyRlJCNWFvektCejN6M2pYeWxMczdhejU5cElUdHBrVzZMS1NDSnFBelU1JTJCTmJCS3ltRU1rJTJGNVlVVzVacSUyRmx4UlNLcmtSUEM1TzBVTDh6SWJrcnFaOCUyQnBkOFc5ZE1tSWclMkZiYmVSTzVxYktudkNkZldFSEJSenFMUk8yMTR0V1I4dEU4SE9uVjdwVTlLQW1oTE8wY1BBQ01qamRhTGpodGxDVHFsRlFCN3l3UERTQmRpWThwZmEzNlpCNUZ4dTh0a3hWa3VKNm9RM0pHVCUyQmFVaEFpZVFrUm14Q0xuV1JVUXFTZzlURG9vRld6cld5S0h1U2lFTkF0cHMlMkIlMkZyd25VZGxmbzBBdzJSUk41SlBFMmxXSlhKSk5ZY0NGTldLYVBuNUR2bXliZGg4OVhYbnltdiUyRjVxVDJNblhPNmRjUDJEV2RCeUFydkEwTktuQ21CTiUyQmdoc3RHNVIxQ01UYWIyMVdDcm5BSGlhY0NYRmxxN00lMkJ0ZUZLRFFmRzhiNUFMS2JaQjNEQmdVSzhYSlBwV0pncllVTjVDeEpkSnRsblRGRjd3Mno2eHBPRXNBYWxxamV1MjR6VWtReG9XZE5zR3ZGdGFlRkY1N1dyVHZRdzFXRGVDZmJ3WUZGUlU2VlBFS0tuV0Q5NDlxakN0dGhmYlo5TUp1NnlLQlp4JTJGVHRSR0xQbXZSVSUyQm14SGVMQ09mSVU3Z3c5MyUyRnF2dURKZGcwTWNOWkM3QW54OW1mVyUyQnp6b0pwaU56T0olMkJpWk4lMkZDbUliN3BmUHlSbVQyRXBpMzhWOXdjWG5EelFEOWFKQXQ5YWRGQ2NGSlZMSDVPVFFmaFdSaEZ3U1dLOVhnZ3NabmMzbUx3U1FlYWpLNUFMNnJRNGJHOUNuVTViREZKT2V5RWZiJTJGOEpXSnRoenZCb1BGSjVNQ2QzdUNlcnA0M1VLZUNJeUNtZGw3MzlqTW81Y0haUGFqbEQwb3BJbE9xUnFVYXJVJTJCdiUyRm5iNWIlMkY2QSUyRk83YTg2UG9mNVVmbzZGa0FYNmIlMkJ2T1IlMkJCaSUyRmslMkZnd1BOJTJGaFRmcjVyeEMlMkIlMkZRVSUzRCUzQyUyRmRpYWdyYW0lM0UlM0MlMkZteGZpbGUlM0XlLOgaAAAOIklEQVR4Xu2de4zcVRXHv2d2K7Z0H8BuRUCJ4htMKjYxKpiKbHchFB8R/jDSnRaFaFRa4wMTdX+jEQU1QH03WmapMSYYNQFlt60KkWqiqRG1RE1ENEagW6HdLa+2O8ecmd9uZ2Z3Hndmfs/53n826dzfvXc+53z7u3PvOfcKWEiABJwIiFNtViYBEgBFQycgAUcCFI0jMFYnAYqGPkACjgQoGkdgrE4CFA19gAQcCVA0jsBYnQQoGvoACTgSoGgcgbE6CVA09AEScCRA0TgCY3USoGjoAyTgSICicQTG6iRA0dAHSMCRAEXjCIzVSYCioQ+QgCMBisYRGKuTAEVDHyABRwIUjSMwVicBioY+QAKOBCgaR2CsTgIUDX2ABBwJUDSOwFidBCga+gAJOBKgaByBsToJUDT0ARJwJEDROAJjdRKgaOgDJOBIgKJxBMbqJEDR0AdIwJEAReMIjNVJgKKhD5CAIwGKxhEYq5MARUMfIAFHAhSNIzBWJwGKhj5AAo4EKBpHYKxOAhQNfYAEHAlQNI7AWJ0EKBr6AAk4EqBoHIGxOglQNPQBEnAkQNE4AmN1EqBo6AMk4EiAoikBWwdgHsA/AMw6MmT1LiNA0ZQM/mIAewC8AsAbAPwuTD84dVjXimJgoc+MYG1BMdjbi8nDj8kjYY6FfTUmQNEAlwK4HcCzPi5762hjdPVr9A1rVhXnQjAowNqq2uubaP/+uRlppl4TTbFKJwl0s2heBuArAN4IYCuAnwB4D4CdnQA8OKiDJ1bAE+CGFto70tODtXzLtEAuhEe6VTTnAHgIwFd94TwVFOvVQ7pegDwE5zbbhyi2zR6S25qtz3rhEuhW0RjlMwD8bxncKwFcAeDusilbW1ZxfOtwWtYW7eAf7mbR1KI7BuBeAF8G8AkArwXweQDvaNccfcN6E4CPA+it0RanZe1CDuF5iqYE+TQA7wXwNQDGxFbQbgEwAqAA4OUA/gngmVZs0jesF4liQqW46FCziCA3e1C8VvrgM+ERoGhKgtkLwH7nnFm2cmZvlhMAfumL6Q8AvuFimlVDelZPBhNQXFfxnOAYFM+rauvBuRmpXmVz6Y51QyJA0QAXAhgFYFOnCwAc8NnbD3cTzvf8z68FcHmzdukb1hsBTAB4ftUzNwN4E4CLy/+9ALzuqRn5Y7Pts150BCiak9OzJwB8qOxtYm+eawB8EShuPB4GcCqAp+uZa/WwXi1SfLu8pqreXdqD3NHH5ED/GvVUi4IqFk7LohNAKz1TNCepWRTAf8t+8Ns+zjv9BQGr9StfUDZNe7ga9sCQriuYWEorb4tFgf2iyM0dEluNK5Yq0XBa1ornRvgMRXMSvq2QfRrAKQCO+atc9wH4vV/lw/5q2vnl8Wn9/Xp64RRMCPCRKjs+KUBudkYs2qCilIuG07IIvb/Frimak+Dsd8Y+AN8GYG8TWxQwIS2UVQBMMAsiQv+w3qCl3y22mFD+dtnecwzekSPy5HJ2WRANp2Utem3Ej1E0Jw1gLL4D4O0Avgngc7Vi0PqGdKNKMUTGFhHKyz0ZhXfkkOyvZ9dilIDgNq6WRez9LXZP0TiAW32mni/zsH2Ud1c8JnhIFd7RGbmrmeZMNCo4zNWyZmjFrw5F04xNztGVfc/CgxQjBMqLRUZ7czNiy8gsXUKAomlg6NVDen1xCRl4YdXbZcd8Ad7Th+TRLvEVfk2fAEVTwxUG1uhIobSX8ubyKqLYqxl4cwfFFg1YYkBgRLNreyGLSXwF6FoFBjPA5JTkO57ER9FUGX1gjZ5XKGACUtzYLC8Pi8CbPSi7YuAnqR/CmGazBeBcAQbRQhKfAvfvlnwgSXwUzaL7qfSvwUT5Tv3CR1waDl+j6zU7eAqKiy4tJfFZtmwQbxkjQdGUdug32eoXgJdUuIdiV6YH3pHHZUkEQPhu1J09jml2vVoSH5pP4gOwbVrygSXxdbVo/JB9TwVvq3LJfYUMvKceF4t+ZomYgMtbJ8hp2eLMI2IekXS/8gw9u7enGFT5/qoBPFrcbzkkOyIZGDutS2CDjt8kxSQ+qZnEF+S0rGtFUy9kf+5UeHhEFk6loQvHhMCYbrlIoROA1k/iA3JTkg88ia9rpmd1Q/bn4R19QuygDZYYERjRLWf1QCcUWpnEVwqoXZLENy35UJL4Ui+aBiH73twhuSdGfsKh+AQ2aPZGcUzi2yP5UJL4UiuaBiH73uyMbKeHxo/AqI5fDYhtKlck8Slwl0Bz0zJ5YEyznh9dXvwCloIRxrQs1b9p+od0q5ZCX2xjbLEocHvPMeRqhezHz4UCHdFL/fQHO7/68UB7aqLxEb1mXQaZCUAqkvgA7Fcgt1vyi0l8VaJ5MKxpWSpF0zekV5pYlgnZvzujyDUK2W/Ctmmqsto//+BqAB/zD04M/fuN6rWnKwoTAl2SxAcgNy35JUl85aKxJL6wpmWpE83AkF5YEFTmsSgOqCDXbMh+6B4TXYd2JJWdLmpHVdnZB7ZP9Z+whzOqWdvtXyaJT7avwHPez+QHyybxLYgm7GlZ6kRjX2j1sN4qpXOZ7XyyHEP2l8jAgho/BeCTvrPaWdbjAL4VpmA2aHaj/yP/9ZX96j0KeLtlsm4Snx8lcFvY07JUiua003TgxArcwpD9ZSVgiz5/AWArTCacf4cpFOtrVMfPN1EIpDKJD3hIAG9K8k0l8Zlo5oHDYU/LUimasJ0ggf25nF/9gk4tEFylV62cxSoPkGWT+KYln6gkvtQuOSfQoaMccvX51eYXRwC8yP/b8tjGdPP1pd38yiQ+geyYh+T2yE47NitRhaJJlLk6Oth651c/5x/Sbme//bWVXjdodiQDTGhVEh8gewUnclOy64FW2o3DMxRNHKzQ2TH0+PeH1mu10fnVPwfwBT9r9S0uw7tMx88rlDYnK5L4BHhYS5uTd7q0F8e6FE0crdLemOxH/qsBfBDA0RpNNTq/2vZG7Jw3u+zKBGbL0vWLQsaQtTfL4nG7ZT+cQ92xbzTUdj+naNolGL/n7X94+9/87/5RU3+uMUQTQ73zq+0xi8v7LoCf1vuaozq+SSAmGIsyKC+7TiDj/UJ2piqJj6KJn9O3O6KLAPy6rJHNKGU+LlcanV/9AQC2l/JD/zqSijZKIfsFC8WvSOITYJ8i403LzlQm8VE07bpo/J4/e5ndfRON3YhQfbdoo/Or7ar4fwF4FYC/LXxVC9nPlMSyNIkPapuTqU7io2ji5/TtjigDwA5u/zGAW8sas+nau8ru37GPGp1fbXX6yw98rxey/xzg3Sf51CfxUTTtumg8n/+tLwi77t2uel9TY7rW9PnV9UL2eyDevXJH1yTxUTTxdPp2R/UjlK7+OAjgswA+U9WghavYZVU29bLFgJrFJWS/3UEn5XmKJimWchvnl/yg1Sv9adrXffF8tKyZP/l7KfZ3SWklZN9tiMmtTdEk13b1Rv4+AJYns6VqUWDKn7ZZJPhkrU1QC9kvBVZWJ/Hp9hU4XjNkP50ol34riiadlr7Ev1TXkssWih3RajFm9hZadrPyMs1uLJROtay6d6e5kP10oqRousWutsloeytv9Ve/6t5sYCH7FpqvbYbsdwtcvmnSaelX+oGWtsxsm5u/We5rXqXbVs7iidSE7IdlSoomLNLh9rMNwHH/OkT7u6TUC9lXrPCmZQfv3alhM4omXGeOvLfaIfu6NwN498ok791pYCWKJnI3DmcA9UP24U1LnvfuNGkKiqZJUImt1kUh+2HZiKIJi3QE/Yzqlk3AvP3Qr7x3B0hlyH5YiCmasEiH2E+tkH0F9kmKQ/bDQkzRhEU6hH5qh+zro/55YqkO2Q8BcbELiiYs0gH3w5D9gAGXNU/RhMc6kJ4Ysh8I1rqNUjThM+9IjyO6ZV0G8zVO2Rdvt9zBe3c6QnppIxRNQGCDarZeyL5AvCm5g/fuBAXfb5eiCRhwJ5uvFbIP4PZeHMvVOmW/k2NgW1wISIQPMGQ/XmbimyZe9qgYzQa95gK7HYwh+/EyEkUTL3sUR7NRr1t1DMftCvBUnLIfQ8RtDYmiaQtf5x+uH7J/3JuW7zNkv/PYnVqkaJxwBVe5Xsi+pSDvYch+cPAdW6ZoHIF1ujpD9jtNNPj2KJrgGS/fQ52Q/VKcWD4X1dDYb30CFE0EHrJBN48LCrabXxWyL3eegOTSdsp+BIgD7ZKiCRRvZeOjmr3Yv1W54pR9QB4A5nPTcmcqT9kPEXEoXVE0IWC+RDedvQIZu+yo6pR9huyHgL/jXVA0HUda2SBD9gMGHEHzFE1A0BmyHxDYGDRL0XTYCJfrlnXzxSvA9YqqpvcrGLLfYdyRNEfRdAi7hezbiphC7YqL8vKkQL0pmWTIfodYR90MRdMBC4xqdqvdalx9yj5D9jsAN4ZNUDRtGGVMx69UiK2KVZyyL8DdBWhut0zub6N5PhpTAhRNi4YZ1c0XAlotigMC5KYkbzeNsaSUAEXThmFHNWsXwW4V4BkFctOSv7mN5vhoQghQNG0Y6lK9bqAXx29RMGS/DYyJe5SiSZzJOOCoCVA0UVuA/SeOAEWTOJNxwFEToGiitgD7TxwBiiZxJuOAoyZA0URtAfafOAIUTeJMxgFHTYCiidoC7D9xBCiaxJmMA46aAEUTtQXYf+IIUDSJMxkHHDUBiiZqC7D/xBGgaBJnMg44agIUTdQWYP+JI0DRJM5kHHDUBCiaqC3A/hNHgKJJnMk44KgJUDRRW4D9J44ARZM4k3HAUROgaKK2APtPHAGKJnEm44CjJkDRRG0B9p84AhRN4kzGAUdNgKKJ2gLsP3EEKJrEmYwDjpoARRO1Bdh/4gj8H0PO0sVrUy0IAAAAAElFTkSuQmCC" %}

Enable Creating and Organizing Series of Blog Posts

Many people split their blog post into multiple parts as a series of tutorials or as an ongoing subject/topic. It would be nice to have fastpages automatically handle organizing series by grouping them together, linking previous parts to future parts, etc.

My initial thoughts are that this would not be too hard. The front matter markdown could just have another field called "series" where you place the name of the series like so:

# "Title
...
- series: Working with NLP

This series could then be treated as a special tag for blog posts where when a new post gets added with the identical series name, that new blog post is treated as the next part in the series and the previous posts will get updated with links to it. Using the series as special tags also has the benefit of easily searching for all of the parts associated with a topic.

Let me know what you think and thanks for the awesome repo!

Implement Optional Subscription For Readers

If readers want to subscribe, create an optional subscribe form. This one requires a bit more reseach as I think we can use Mailchimp but ideally i want a fully automated solution

Questions about runtime/notebook statefulness

Not sure these are things that ar relevant for fastpages but I'm going to leave this open for a bit and think about if there is anything we can do in this regard

Feedback from @dansbecker:

The big caveats would be around runtime environment. I like how someone can run a notebook from this platform on colab, but it's unclear whether I can ensure they have the same runtime environment I had. And debugging environment differences sounds annoying.

Is there a way to upload a notebook, call a github action to re-run the notebook using a requirements.txt I provide, and then publish the result of that?

In addition to being a path towards a shared environment, it'd also address the problems with notebook statefulness.

Provide users with a path to automated upgrade

  • merges upstream master into their repo on a new branch
  • open a PR
  • user has to fix conflicts?

@jph00 can you think of a nice workflow where people should upgrade? Is git merge/fix conflicts the best route, you think?

Escape Liquid Tags Present in Code / Code Output

I realize fastpages currently is only designed to work with Altair. Altair doesn't support 3D graphs, but plot.ly does. One of my notebooks uses plot.ly for interactive 3D graphs.

With a one-line change to nbdev (https://github.com/drscotthawley/nbdev/blob/master/nbdev/export2html.py), the embedded plot.ly 3D interactive graphs work fine, and the resulting html from nbdev/export2html shows these plots great. (Example HTML output of notebook from nbdev/export2html: https://hedges.belmont.edu/~shawley/2019-12-21-PCA-From-Scratch.html)

The problem is that further down in the fastpages build, the 'Rendering Liquid' step tries to treat some of the double-curly-brace javascript generated for plot.ly as if it were Liquid tags:

  Rendering Liquid: _posts/2019-12-21-PCA-From-Scratch.md
  Liquid Exception: Liquid syntax error (line 113): Variable '{{ x.observe(notebookContainer, {childList: true}' was not properly terminated with regexp: /\}\}/ in /github/workspace/_posts/2019-12-21-PCA-From-Scratch.md

The javascript code it's complaining about looks like this:

   if (notebookContainer) {{
       x.observe(notebookContainer, {childList: true});
   }}

I have no experience with Liquid, at all. My old Jekyll/Pages blog doesn't use it, so there was no conflict. But FastPages does use it. Is there any way to 'tell Liquid' to leave the plot.ly javascript alone and not try to interpret it as a tag? (I've googled around trying to solve this, but so far, no dice.)

Or perhaps there's a way to disable Liquid for certain files but not for the whole fastpages blog?

Run log: https://github.com/drscotthawley/devblog2/runs/451929186?

[20200229] - Local Environment in Window

#28 Please include the following information
I get these error for

docker-compose down || true;
Removing fastpages_converter_1 ... done
Removing fastpages_fastpages_1 ... done
Removing fastpages_watcher_1   ... done
Removing fastpages_jekyll_1    ... done
Removing fastpages_jupyter_1   ... done
Removing network fastpages_default
docker-compose up
Creating network "fastpages_default" with the default driver
Creating fastpages_jekyll_1    ... done
Creating fastpages_watcher_1   ... done
Creating fastpages_jupyter_1   ... done
Creating fastpages_converter_1 ... done
Creating fastpages_fastpages_1 ... done
Attaching to fastpages_converter_1, fastpages_jupyter_1, fastpages_watcher_1, fastpages_fastpages_1, fastpages_jekyll_1
converter_1  | standard_init_linux.go:211: exec user process caused "no such file or directory"
fastpages_1  | standard_init_linux.go:211: exec user process caused "no such file or directory"

Then I find out that multiple links are link to /fastpages/...
Which caused the problem as this does not match my directory.

My current solution is to

  1. Steps to reproduce the problem
    Window 10
    make server
  2. A link to your repository where error is occuring
    The Two dockers cannot start successfully
    standard_init_linux.go:211: exec user process caused "no such file or directory
    image

Code syntax highlighting for Markdown posts

...the current color scheme renders most variable names and libraries in white text, on a background that is very light-colored. The result is unreadable. Example: see "More code" in https://drscotthawley.github.io/devblog3/2020/02/20/sample-markdown-post.html.

It's the same highlighting scheme (Dracula) used for the notebooks, but for the notebooks the background is dark, so it's not a problem.

Can someone suggest how to either enforce a darker background for markdown posts, or suggest a different highlighting scheme (and how to install it) that will render well for both notebooks and markdown posts?

[2020 Feb, 25]: [Jupyter Notebooks not showing up in blog form]

Regular Markdown posts posted in _posts show up correctly in the Blog.
Jupyter Notebook Posts don't show up in the Blog , this includes the example Jupyter Notebook provided
image

This is what shows up on the website (the one post there is made in regular markdown.
image

Docs/FAQ: why changing theme breaks everything

In _config.yml, if you make the one-line change,

#theme: minima
theme: jekyll-theme-cayman

...the blog builds but is reduced to nothing (...almost nothing. in my case one image remains, nothing else).

At some point, it would be awesome to have a FAQ topic on changing the theme to another one of the supported GitHub Pages Jekyll themes! I realize that's probably a low priority.

Investigate nbdev handling of external urls and update documentation accordingly

My notebook post (https://github.com/drscotthawley/devblog2/blob/master/_notebooks/2019-12-21-PCA-From-Scratch.ipynb) contains the line

![splash pic i made](https://i.imgur.com/vKiH8As.png)

(This is using an external image URL because originally this was a Colab notebook.)

This is apparently causing an error in the build phase called "convert notebooks and word docs to posts", which fails with

[Errno 2] No such file or directory: '/github/workspace/_notebooks/https:/i.imgur.com/vKiH8As.png'

This may be more appropriate to file as an nbdev issue, such as in nbdev's copy_images(), but I can't see from the docker run command before the error what the calling sequence really is, so for now, this Issue is going here.

I want to show you the log from this build action, but for some reason I'm only able to copy & past the last screen of output

Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.4.0->nbdev) (0.15.7)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->jsonschema!=2.5.0,>=2.4->nbformat>=4.4.0->nbdev) (2.2.0)
Building wheels for collected packages: pyyaml
  Building wheel for pyyaml (setup.py): started
  Building wheel for pyyaml (setup.py): finished with status 'done'
  Created wheel for pyyaml: filename=PyYAML-5.3-cp37-cp37m-linux_x86_64.whl size=44228 sha256=2849b70c15d9a6287c040494aacf5fce4dbc78c0f012589fdbaaaf42a88be977
  Stored in directory: /root/.cache/pip/wheels/8a/55/a4/c0a81d27c33462cfdcb904db018f5550197e88b2b6b85beed2
Successfully built pyyaml
Installing collected packages: pyparsing, packaging, pyyaml, fastscript, nbdev
Successfully installed fastscript-0.1.4 nbdev-0.2.11 packaging-20.1 pyparsing-2.4.6 pyyaml-5.3
Removing intermediate container 777fa6e7fb4e
 ---> 785732a2fae1
Step 9/13 : WORKDIR /fastpages
 ---> Running in b471877f7bcf
Removing intermediate container b471877f7bcf
 ---> 7a70164df948
Step 10/13 : COPY . .
 ---> ae0df79ca46c
Step 11/13 : RUN chmod u+x action_entrypoint.sh
 ---> Running in 9e435c1efb7b
Removing intermediate container 9e435c1efb7b
 ---> 1fea6b18ebe0
Step 12/13 : RUN chmod u+x word2post.sh
 ---> Running in 0aab46f15a33
Removing intermediate container 0aab46f15a33
 ---> 66431beca583
Step 13/13 : CMD [ "/fastpages/action_entrypoint.sh" ]
 ---> Running in c3b8d4d4c536
Removing intermediate container c3b8d4d4c536
 ---> b2f73f74387b
Successfully built b2f73f74387b
Successfully tagged e87b52:3234fc1855fc53ec9dac003860ef10bb
/usr/bin/docker run --name e87b523234fc1855fc53ec9dac003860ef10bb_c377e6 --label e87b52 --workdir /github/workspace --rm -e INPUT_BOOL_SAVE_MARKDOWN -e INPUT_SSH_DEPLOY_KEY -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e GITHUB_ACTIONS=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/devblog2/devblog2":"/github/workspace" e87b52:3234fc1855fc53ec9dac003860ef10bb
Agent pid 7
converting: _notebooks/2019-12-21-PCA-From-Scratch.ipynb
[Errno 2] No such file or directory: '/github/workspace/_notebooks/https:/i.imgur.com/vKiH8As.png'
Traceback (most recent call last):
  File "/fastpages/nb2post.py", line 36, in <module>
    export2html.notebook2html(fname='_notebooks/*.ipynb', dest='_posts/', template_file='/fastpages/fastpages.tpl')
  File "/usr/local/lib/python3.7/site-packages/nbdev/export2html.py", line 426, in notebook2html
    raise Exception(msg + '\n'.join([f.name for p,f in zip(passed,files) if not p]))
Exception: Conversion failed on the following:
2019-12-21-PCA-From-Scratch.ipynb

The URL for this run is https://github.com/drscotthawley/devblog2/runs/449901792

User pages must be built from master branch

Hi all! I'm super excited for this! I'm writing a quick tutorial on how to get started with fastpages in spanish. As part of that I wanted to start from zero and I created a new github account and used the template to create the blog repo.

However, I cannot seem to change the Source from master to the gh-pages branch. The gh-pages branch is being built and published correctly, I just can't tell GitHub Pages to deploy from that branch instead of master and I get this message:

Screenshot_2020-02-25 paco-el-chato paco-el-chato github io(1)

The repo is paco-el-chato/paco-el-chato.github.io. I didn't have any problems doing this on my personal blog but (I think) that's because it was not deployed at chekos.github.io and it was not a user page.

Does anyone know how I could fix this? or if it's even possible?

Thanks in advance!

Deploy failure due to "/root/.ssh/id_rsa": invalid format

I followed the instructions for setting up the deploy key, and secret environment variable, but am receiving a "/root/.ssh/id_rsa": invalid format error when deploying. Any ideas on what could be causing this?

 Deploy1s
and the repository exists.
Run peaceiris/actions-gh-pages@v2
/usr/bin/docker run --name e87b52c1e6a5f69eec4e969af6a4bd60e87b0d_ceeab3 --label e87b52 --workdir /github/workspace --rm -e ACTIONS_DEPLOY_KEY -e PUBLISH_BRANCH -e PUBLISH_DIR -e INPUT_EMPTYCOMMITS -e INPUT_KEEPFILES -e INPUT_FORCEORPHAN -e INPUT_USERNAME -e INPUT_USEREMAIL -e INPUT_COMMITMESSAGE -e INPUT_TAGNAME -e INPUT_TAGMESSAGE -e INPUT_TAGOVERWRITE -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e GITHUB_ACTIONS=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/finetune/finetune":"/github/workspace" e87b52:c1e6a5f69eec4e969af6a4bd60e87b0d
INFO: Deploy to keherri/finetune
INFO: setup with ACTIONS_DEPLOY_KEY
# github.com:22 SSH-2.0-babeld-849b9b5f
Cloning into '/github/home/ghpages_14933'...
Warning: Permanently added the RSA host key for IP address '140.82.113.3' to the list of known hosts.
Load key "/root/.ssh/id_rsa": invalid format
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Error in the action execution: ./_action_files/word2post.sh not found

I added the following .github/workflows/converter.yaml with the following content:

name: Convert Notebooks
on:
  page_build

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: convert notebooks and word docs to posts
      uses: fastai/fastpages@master

But in execution I get the following error:

Screenshot_2020-02-13 A-Alaa CV2020

Deploying without ssh

Hi! I know this template is in active development (I'm so excited for it!) but I already started using it this morning and I could not figure out how to set up the ssh keys.
This is not a complaint - I'm sure it's easy to figure out if your not as impatient as I am lol

Anyways, I wanted to leave this issue so that others who may have problems too can do what I did if they so want to.

This template is using peaceiris/gh-pages GitHub Action and perusing the repo I noticed that you can use a personal token instead of ssh and it works just fine.

I followed the instructions here https://github.com/peaceiris/actions-gh-pages/blob/master/README.md#%EF%B8%8F-personal_token

Thanks for the awesome tool! fastpages and fast_template are amazing!

Search improvements

Fastpages provides search features built with lunr.js, thanks @hamelsmu!

Following up on the initial version, Hamel asked if there's a way to improve it, and provided Just the Docs repo as an example. Here are a few things that would be great to improve:

  • Make sure site load speeds stay fast by decoupling search indexing from the layout.

Just the Docs, interestingly, doesn't build the index on every page, but provides a JSON with the site content that the site front-end can grab when the user say focuses the search field: https://github.com/pmarsceill/just-the-docs/blob/master/assets/js/search-data.json

  • Add excerpts highlighting in the search results page.

Here's the Just the Docs version of this, it's pretty sophisticated. We don't need it to be that fancy, but we want each search result to have the matched post title, and the paragraph (or part) with the matched words highlighted, rendered in the search results. If something in the code block got matched — than the corresponding code block, or it's reasonable part (indent-based?) should be rendered.

Bonus points:

  • Clean up, vendor, and make a clear guide on JS dependency management.

What libraries is fastpages using, how do we bundle them up, and should we maybe introduce a minimal JS bundler (parcel?) to manage the front-end deps?

The first PR couldn't be generated

I have followed the instructions from the README.md,

  • Generate a copy of this repo by clicking on this link.
  • GitHub Actions will automatically open a PR on your new repository ~ 30 seconds after the copy is created. Follow the instructions in that PR to continue.

but I got the following error during the setup process.

Screen Shot 2020-02-22 at 2 59 44 PM

Separate autogenerated posts from manually created posts.

Is your feature request related to a problem? Please describe.
When writing notebook posts locally I'm finding it frustrating that autogenerated .md posts created from notebooks are being mixed in with my manual .md posts. This is also a little confusing with the images copied over from the notebooks into the /images folder. This makes managing commits difficult because some files need to be included while others ignored. It also makes it difficult to clear the state of your site because you have to delete the autogenerated posts.

Describe the solution you'd like
It would be simple if the project followed a simple rule to never mix autogenerated code into folders that contain manually created files.

Describe alternatives you've considered
When preparing the files for jekyll copy all the files to a new temporary folder rather than an existing folder.

Additional context
None

Clustering fastpages repo?

I found that GitHub provides a repo with disk quota of 1GB.

Blogging sometimes requires a lot or disk spaces because of the long history (even people keep media files including images in a cloud). Also, some people want to keep media files in the repo as well.

There could be some solutions like..

  • (short term) specify Google Drive account. Whenever a user uploads images to the /images folder, fastpages automatically uploads them to the Google Drive. Of course the link should be generated and replace the local reference from the blog post.
  • (long term) clustering blog repos from fastpages to form one large blog. This could be somewhat related to pagination issue. For instance, one repo is for the year of 2020 and the other repo is for 2021, then create links for each to switch back and forth.

This seems out of the scope for this project. I just wanted to hear what other people think about my idea.
Thank you

Difference between fast_template & fastpages

Hey team!

This looks amazing!

I was reading about fast_template yesterday and got the starter blog going.

Now I’ve seen this amazingness and I’m wondering what the difference is?

From what I’ve gathered so far, fastpages (here) incorporates nbdev natively?

A big thank you for all the hard wok.

Feature Brainstorming, Documentation, etc. [ May Graduate These to Separate Issues ]

This is a running list of feature requests, we don't necessarily know if we will work on these but making notes in a consolidated place

  • Will [interactive] Plotly charts render? I have a feeling I know what Altair was chosen, but I figured it couldn't hurt to ask ( @jeremyabramson ) A: No, Plot.ly doesn't render without jumping through lots of hoops
  • Are footnotes supported in notebook (not MD) posts? It'd be cool if they were ( @jeremyabramson ) A: YES They are
  • Any way of enabling line numbering in either code blocks for MD posts or cells in Jupyter posts? That'd certainly be very helpful for tutorial posts. ( @jeremyabramson )
  • Tips and tricks blog posts about writing fastpages blog posts See this much of which is outdated and needs correction b/c of recent fixes
  • Microsoft word demo blog post
  • Chart comparing feature differences b/w Word vs. Markdown vs. Jupyter

Add an option to bypass the Jekyll blog naming convention (no date restriction)

Add an option to enable using custom filenames without forcing the addition of the date as prefix. This can be useful for other static website generators.

Initially the option can be added as following:

inputs:
  ...
  BOOL_FORCE_DATE:
    description: Either 'true' or 'false'.  Whether or not to force the date prefix for the markdown generated files from the notebooks.
    required: false
    default: true

Add a How-To section

Would be nice to have an ever-growing how-to section added to the repo. I'm familiar with jekyll but strugging to, for example, find out how to change the header of the page so I can replace my domain name with an image.

Other examples may include:

  • How to add your own favicon
  • How to make your blog width 100%
    ...

Porting from older releases

As per the email generated when I cloned the fastpages repo I set up the SSH public and private keys

I set the cloned github repo to point to my custom domain

I copied the following over from the old repo

  1. my _config.yml
  2. index.md
  3. about.md
  4. _word directory contents

Issue:

The index and about pages render correctly and the example .md post in the _posts directory

But the other posts from the _word directory do not

Main page renders like this

image

I checked the CI/build site log and it reports a deploy error

ERROR: not found ACTIONS_DEPLOY_KEY, PERSONAL_TOKEN, or GITHUB_TOKEN

image

I grepped the source files but I'm not sure what I'm missing

image

Automate setup of new blog

Currently there are a lot of steps necessary to set up a new blog that need to be manually completed.

It would be great if some or all of them could be automated. e.g. perhaps there could be a little python script or something in the repo root that, after you generate from the template and clone, you could run the script, it would ask you a few questions, and then complete the remaining steps for you. I haven't checked whether all the steps are available thru APIs or not.

Enable conversion out of _notebooks with free destination

Add an option to consider all notebooks that are not necessarily in the _notebooks. This can be useful for static generators other than Jekyll.

The option can be add initially as following:

inputs:
  ...
  BOOL_FREE_STRUCTURE:
    description: Either 'true' or 'false'.  Whether or not to consider all notebooks which are not necessarily located in _notebooks dir to be converted. If set to 'true' the generated markdown files will be located in the same source directory. This is useful for static website generators other than Jekyll.
    required: false
    default: false

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.