-
Notifications
You must be signed in to change notification settings - Fork 320
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
Port glossary and Java tutorial to scala-lang, ... #359
Conversation
... update README, add Gemfile/Bundler
@SethTisue A bit of a prototype, language support needs to be integrated, but the move to incremental compilation with Jekyll 3.0.1 looks promising. The idea is to unify the documentation into one site. I'm determined to find a solution for the slow indexing issue @heathermiller mentioned, too. Until now, everything is blazingly fast. |
I'll do a smaller change against the spec site to move that closer to the main style, too. |
Just to repeat what I've said in a few different locations (another earlier PR scala/docs.scala-lang#467 (comment), and on gitter): While I very much appreciate the move to improve the appearance of the website, I don't think we should be attempting to merge two repositories into one. Instead, I think we should be keeping two separate repositories (one for documentation, and one for the website front page/blog/announcements/news). It is, however, ok if we merge the appearance. I think we can do that a lot easier than by migrating content between repositories. Instead, it's likely easier if we keep the content where it is, and move over the stylesheets/templates from scala-lang to docs.scala-lang. If that's clear. |
I just checked and until now everything builds in a sub-second range. I keep watching the build-time issue, and act accordingly. I rewrote some code which "looked" slow (unnecessarily traversing all pages for minor stuff), and it hasn't been an issue so far. I propose that I try to migrate more and more, and if the build time issue never crops up, we could go forward with the migration. @heathermiller what do you think? My idea is that keeping stuff up-to-date is much easier with one repo instead of three. |
As I said several times now, I would like to keep things in separate repositories. There are not three respositories. |
Why? I don't understand it. There is the spec in scala/scala, the website (with some documentation) in scala-lang and a lot of stuff in scala.github.com. |
I provided rationale several times in several locations, even days prior to this pull request. I refer you to the many other locations where we discussed this (see links above). For convenience, I will repeat some of the above, and I will provide additional rationale.
If you would like to help, the most constructive way (other than brute forcing your own changes, regardless of our views) would be to consider suggestions that we have made. Originally this discussion was about providing the same look and feel across both sites. We'd still like that. And I think it's an easy PR to make if you're so inclined (move stylesheets/templates over from scala-lang to docs.scala-lang, that + light tweaking is about all it takes). But we do not want to merge our 2 websites into one mega repo, and to drastically change all of our builds. The cost outweighs the benefit. |
Hi @heathermiller! I appreciate your clarifications, but I substantially disagree with the following claims: Regarding 1: I think that users don't care about the distinction between releases/downloads/announcements and documentation, and keeping different software stacks, styles and repos is unnecessary work for contributors. Regarding 2: I think the change simplifies the build overall:
Regarding 3: No page on the documentation site, with my changes, takes more than 1.5 seconds, most of them are less than 0.9 seconds (usually 0.7 seconds). With incremental compilation this matters even less, because if you want to update one single file, you just do it. No need to recompile all the other things in the repo.
That's were I started from, and my conclusion very early on is that it's just not worth the work of keeping things between different repos in sync forever. If I'm touching this stuff anyway, I will go the whole way: the effort is only insufficiently larger from my side, while the mid- and large-term benefits are much higher. I hope the current stance can be revisited in the future, given the information above. |
RE point 1: RE point 2: RE point 3:
Maybe so, but for the doc-site only. We'll cross that bridge when using Jekyll 3 is a requirement for gh-pages. In any case, bundler etc (that you've added to the build in this PR) wouldn't be required if gh-pages forces us to update Jekyll. My point still stands that your PR complicates the build, and that everyone will have to update several things (Ruby, Jekyll) and they will have to install new packages (bundler) for no benefit that I see. Just to put everything in one repo, which is unnecessary in the first place.
We never sync between repos. There's never been a need to. Totally unfounded and false statement. Baseless claim. This is a completely unnecessary battle. Let's make the doc-site look like scala-lang, that's established. Let's work towards that goal – I agree with you on the point that unifying it all would be nice. However, for you to ignore our views, and to brute force your way around with large PRs doing the exactly the opposite of what we earlier suggested is not constructive. We don't need to force dozens of people to update Ruby etc and deal with a megasite repo for both sites to have the same visual appearance. Anyway – this argument has consumed quite a bit of my time on my Sunday. Getting back to enjoying the weekend :) I suggest you do too! :) |
Hi Heather, RE point 2:
Has this been an issue in the last few years? Looking at content changes to the docs, it kind of looks like the state of documentation is somewhere between "on life-support" and "abandoned". RE point 3:
The PR is quite out-of-date. I ported a substantial part, including the linking of translations, and the issue just isn't there. Additionally, the diff between the current scala-lang and a "megasiterepo" is basically 15 *.md files for the spec, and maybe 100 *.md files depending on how much can be salvaged from scala.github.com.
There is zero change for the doc site compared to the state today, it only moves scala-lang in line with docs.scala and scala/spec.
.
Are you proposing to let one Jekyll instance in one repo run against the Jekyll templates and includes in a different repo? That sounds pretty complicated. It's either that, or copying the templates and includes from one repo to another and keeping the files in sync. Anyway, I don't really see a way forward here. I'll nuke my branch and move on. If not updating a Debian oldstable box is more important than not losing contributors ... well, then I have plenty of other work to pick from. Enjoy your weekend, Simon |
Doesn't Bundler take care of that? (Or is this a naïve question? It's definitely possible, I'm pretty ignorant about Ruby stuff.) EDIT: I had said some stuff about how I'd found it painful to work on the sites, but it's entirely possible I just haven't educated myself sufficiently about Bundler. |
(OK, so, after I fixed a problem in my Ruby config:) Now in the docs repo, I'm able to do But here in this repo, there is no |
@SethTisue Gemfile.lock doesn't enforce the versions. It is generated as a snapshot for what gems it installed at that time. It's more for humans to read than anything else. |
@Stargator I'm reading at http://bundler.io/rationale.html that:
what you're telling me seems utterly different, and contradictory. can you explain? |
I got that impression from reading:
I admit I didn't read further than this. There may be programs that need to maintain specific gem versions, but I haven't experienced any cases where that was needed. You can already set specific versions in the gemspec and/or Gemfile. So I didn't realize what other use Gemfile.lock may have. Thanks for pointing out my error. |
np. still figuring this stuff out myself |
... update README, add Gemfile/Bundler