Skip to content

mlpack page update #26

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 58 commits into from
Sep 17, 2020
Merged

mlpack page update #26

merged 58 commits into from
Sep 17, 2020

Conversation

zoq
Copy link
Member

@zoq zoq commented Apr 5, 2020

I went ahead and worked on a different design for the current webpage: https://demo.kurg.org/mlpack-www/ before I move forward, I'd like to see if we think this is an improvement over the existing design. Also, there are some things that are left to do:

  • complete the package matrix on the Quick Start page.
  • release script
  • use the same design on the documentation and IRC page

pretty sure there is more that I haven't listed. Anyway let me know what you think.

@ShikharJ
Copy link
Member

ShikharJ commented Apr 5, 2020

GitHub really needs a :Damn!: react.

@rcurtin
Copy link
Member

rcurtin commented Apr 5, 2020

@ShikharJ yeah, agreed, I think I use 🚀 as an approximation. But there are all kinds of possibilities? 🔥 🔫 🥇 🆒 ? The world of emojis is confusing for me. :)

This looks awesome! I'll take a closer look soon. The runnable notebooks on the frontpage are incredible.

@rcurtin
Copy link
Member

rcurtin commented Apr 6, 2020

Seems like maybe some files didn't get included in the diff? I don't know if your intention was to have the actual change reviewed, or just the design. :)

Overall the design looks awesome to me. Here are some ideas; we definitely don't need to address all of them.

  • We could change aims to provide to provides.

  • Maybe it's nicer to have a couple of examples in each language? Imagine a selector C++ / Python / Julia just like you have, then another one right below it: kNN search, logistic regression, LeNet, etc. We could even pull directly from the examples repo for that. In any case, it's a little hard for me to see what exactly the example is (there's not a clear "title") for each language. Maybe a lighter comment color could be helpful for that?

  • We could also add sh as a language for the CLI bindings.

  • The citations section says please cite the following paper and then lists 4. :) Maybe we should have a little text after the first citation, like Below are some additional relevant publications about mlpack..

  • It might flow a little better to use a markdown link like [a benchmarking system](https://demo.kurg.org/mlpack-www/static/pub/2014automatic.pdf) to discuss the benchmarking system. I'd love to see that on the front page, but we should probably re-run and update whatever benchmarks we show... I think the ones you used are from 2012 or so. :) Maybe we can use a bar chart here instead, and possibly add another task? Definitely not something necessary for now.

  • The package matrix is really cool, looking forward to seeing it finished. :)

  • The lab is really cool! I had fun playing with a C++ notebook and didn't have any issues. 👍

Overall this is really awesome and it looks great. We could open other issues for any of the comments above, but personally at least from my side I'd be happy to deploy this pretty-much as-is as soon as it's ready. :)

@rcurtin
Copy link
Member

rcurtin commented Apr 18, 2020

I see the diff has lots of HTML files; is this still Jekyll-generated from Markdown, or is it static HTML? I don't have a huge preference either way, just want to figure out how the website build scripts might need to be updated. All of the documentation building scripts for the different mlpack versions work via producing Markdown which then Jekyll turns into a website, so maybe it's easiest to stick with that if possible. Otherwise we might have to rework a lot of that.

@zoq
Copy link
Member Author

zoq commented Apr 20, 2020

Unfortunately, at this point this is static HTML, I already started to add some comments in the HTML files to make it easier to figure out what part does what. Also, there is an initial release script: https://github.com/mlpack/mlpack.org/pull/26/files#diff-6c4b225154de48c98a709c1b494c584c, once ready it should be as easy as update-website-release.py "files/mlpack-x.x.x.tar.gz". I will keep the markdown files so that we can switch back once we have a version that is based on markdown.

@zoq
Copy link
Member Author

zoq commented Apr 20, 2020

Also, I don't think we have to touch the documentation, I can just update the header style, so we can keep that part for the documentation.

@rcurtin
Copy link
Member

rcurtin commented Apr 22, 2020

That's true, I guess the same scripts to build the documentation still work. I suppose, Jekyll works with HTML too, it will just deploy that HTML directly instead of styling/themeing/generating. So it's probably not a problem if it's mostly HTML, although it might be nice to transition to Markdown just for maintainability reasons.

The documentation scripts currently produce Markdown that goes through Jekyll for the binding documentation, so we'll have to stick with that. But the Doxygen documentation is all HTML, so I think the only thing to do there would be to update the CSS that's used and the includes that are being used. The code used there is in _src/scripts/build-version.sh and _src/doxygen/.

@zoq
Copy link
Member Author

zoq commented Sep 8, 2020

Latest update - https://demo.kurg.org/mlpack-www/html/.

Copy link
Member

@rcurtin rcurtin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This. Looks. Awesome. I'm so excited! 👍

I left a lot of comments, many of which are pretty trivial and probably the majority of which we should open as separate issues. Let me know what you think. But in any case, if you want to merge it, I can deploy it (or actually I guess you can too since you have an account on mlpack.org that should have the right permissions), and we can open issues for the other stuff to be handled later.

@@ -0,0 +1,235 @@
var cppCode = "";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be really cool to replace this hard-coded code with perhaps some way to generate/load the examples from either the mlpack repository or the examples repository. Probably we should open this as an issue for the future though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, that would also allow us to show more examples on the page; will open an issue for that.

@@ -87,3 +87,4 @@ into larger-scale machine learning solutions.
Journal of Open Source Software 3:26, 2018. [<a href="files/mlpack3.bib">BibTeX</a>]
</li>
</ul>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we should remove index.md entirely?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm working on using Jekyll to produce the same output, so until that works let's keep the file.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. 👍

# See https://www.mlpack.org/doc/mlpack-3.2.2/doxygen/build_windows.html

nightly linux (debian) source c++
apt-get install libboost-math-dev libboost-program-options-dev libboost-test-dev libboost-serialization-dev libarmadillo-dev binutils-dev libensmallen-dev libstb-dev wget git !! git clone https://github.com/mlpack/mlpack.git ! cd mlpack ! mkdir build ! cmake .. ! make ! make install !! # Simple compiler command ! g++ code.cpp -larmadillo -lmlpack
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit longer than the text box; maybe we should open an issue to automatically resize it if the text is too big?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, will add it to the issue.

builtStart = quickstartContent.find('<a id="built-source" href="https://www.mlpack.org/doc/mlpack-')
builtEnd = quickstartContent.find("/doxygen/", builtStart)
if builtStart > 0 and builtEnd > 0:
quickstartContent = quickstartContent.replace(quickstartContent[builtStart + 61:builtEnd], fileVersion)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here too it would also be possible to use doc/stable/. 👍

Copy link
Member

@rcurtin rcurtin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks great to me. Feel free to merge whenever you're ready. There are still a couple comments that are unaddressed; I'll link them here just in case you overlooked them:

#26 (comment)
#26 (comment)
#26 (comment)
#26 (comment)

Anyway, I certainly don't want to hold up the merge, so these things can totally be handled later or we can open issues or something for them. 👍

Awesome work! I'm excited to see this go live. And, I think, the permissions on mlpack.org are such that you should be able to deploy everything yourself and make sure it all works. 👍

@zoq
Copy link
Member Author

zoq commented Sep 17, 2020

Okay, the update is live, will open some issues and PRs for the remaining issues.

@zoq zoq merged commit 8537e5e into mlpack:master Sep 17, 2020
@rcurtin
Copy link
Member

rcurtin commented Sep 17, 2020

Awesome work @zoq! It looks great. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants