diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index 96c2aedc1..000000000 --- a/.bundle/config +++ /dev/null @@ -1,3 +0,0 @@ ---- -BUNDLE_PATH: "bundle-vendor/bundle" -BUNDLE_DISABLE_SHARED_GEMS: "true" diff --git a/.gitignore b/.gitignore index 6ae743e9d..267bdefaa 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ _site/ .DS_Store /bundle-vendor/bundle/ /.jekyll-metadata +.bundle +/.idea diff --git a/.travis.yml b/.travis.yml index 62b6624ed..f473c4b0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: false language: ruby rvm: - - 2.2 + - 2.4.0 # for faster builds cache: bundler diff --git a/Gemfile b/Gemfile index dfb16deba..09f847c36 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,6 @@ source 'https://rubygems.org' -gem 'github-pages', '>=104', group: :jekyll_plugins +ruby '2.4.0' +gem 'jekyll' +gem 'kramdown' +gem 'rack-jekyll' +gem 'rake' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 6c18d056d..2497620b9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,61 +1,12 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.7) - i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.4.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.10.0) + addressable (2.5.0) + public_suffix (~> 2.0, >= 2.0.2) colorator (1.1.0) - ethon (0.9.1) - ffi (>= 1.3.0) - execjs (2.7.0) - faraday (0.9.2) - multipart-post (>= 1.2, < 3) - ffi (1.9.14) + ffi (1.9.17) forwardable-extended (2.6.0) - gemoji (2.1.0) - github-pages (104) - activesupport (= 4.2.7) - github-pages-health-check (= 1.2.0) - jekyll (= 3.3.0) - jekyll-avatar (= 0.4.2) - jekyll-coffeescript (= 1.0.1) - jekyll-feed (= 0.8.0) - jekyll-gist (= 1.4.0) - jekyll-github-metadata (= 2.2.0) - jekyll-mentions (= 1.2.0) - jekyll-paginate (= 1.1.0) - jekyll-redirect-from (= 0.11.0) - jekyll-sass-converter (= 1.3.0) - jekyll-seo-tag (= 2.1.0) - jekyll-sitemap (= 0.12.0) - jekyll-swiss (= 0.4.0) - jemoji (= 0.7.0) - kramdown (= 1.11.1) - liquid (= 3.0.6) - listen (= 3.0.6) - mercenary (~> 0.3) - minima (= 2.0.0) - rouge (= 1.11.1) - terminal-table (~> 1.4) - github-pages-health-check (1.2.0) - addressable (~> 2.3) - net-dns (~> 0.8) - octokit (~> 4.0) - public_suffix (~> 1.4) - typhoeus (~> 0.7) - html-pipeline (2.4.2) - activesupport (>= 2) - nokogiri (>= 1.4) - i18n (0.7.0) - jekyll (3.3.0) + jekyll (3.4.0) addressable (~> 2.4) colorator (~> 1.0) jekyll-sass-converter (~> 1.0) @@ -66,80 +17,43 @@ GEM pathutil (~> 0.9) rouge (~> 1.7) safe_yaml (~> 1.0) - jekyll-avatar (0.4.2) - jekyll (~> 3.0) - jekyll-coffeescript (1.0.1) - coffee-script (~> 2.2) - jekyll-feed (0.8.0) - jekyll (~> 3.3) - jekyll-gist (1.4.0) - octokit (~> 4.2) - jekyll-github-metadata (2.2.0) - jekyll (~> 3.1) - octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.2.0) - activesupport (~> 4.0) - html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-paginate (1.1.0) - jekyll-redirect-from (0.11.0) - jekyll (>= 2.0) - jekyll-sass-converter (1.3.0) - sass (~> 3.2) - jekyll-seo-tag (2.1.0) - jekyll (~> 3.3) - jekyll-sitemap (0.12.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) jekyll-watch (1.5.0) listen (~> 3.0, < 3.1) - jemoji (0.7.0) - activesupport (~> 4.0) - gemoji (~> 2.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0) - json (1.8.3) - kramdown (1.11.1) + kramdown (1.13.2) liquid (3.0.6) - listen (3.0.6) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9.7) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) mercenary (0.3.6) - mini_portile2 (2.1.0) - minima (2.0.0) - minitest (5.9.1) - multipart-post (2.0.0) - net-dns (0.8.0) - nokogiri (1.6.8.1) - mini_portile2 (~> 2.1.0) - octokit (4.4.1) - sawyer (~> 0.7.0, >= 0.5.3) pathutil (0.14.0) forwardable-extended (~> 2.6) - public_suffix (1.5.3) + public_suffix (2.0.5) + rack (1.6.5) + rack-jekyll (0.5.0) + jekyll (>= 1.3) + listen (>= 1.3) + rack (~> 1.5) + rake (12.0.0) rb-fsevent (0.9.8) - rb-inotify (0.9.7) + rb-inotify (0.9.8) ffi (>= 0.5.0) rouge (1.11.1) safe_yaml (1.0.4) - sass (3.4.22) - sawyer (0.7.0) - addressable (>= 2.3.5, < 2.5) - faraday (~> 0.8, < 0.10) - terminal-table (1.7.3) - unicode-display_width (~> 1.1.1) - thread_safe (0.3.5) - typhoeus (0.8.0) - ethon (>= 0.8.0) - tzinfo (1.2.2) - thread_safe (~> 0.1) - unicode-display_width (1.1.1) + sass (3.4.23) PLATFORMS ruby DEPENDENCIES - github-pages (>= 104) + jekyll + kramdown + rack-jekyll + rake + +RUBY VERSION + ruby 2.4.0p0 BUNDLED WITH - 1.13.6 + 1.14.3 diff --git a/Procfile b/Procfile new file mode 100644 index 000000000..fb1f635fe --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: vendor/bin/heroku-php-apache2 ./site \ No newline at end of file diff --git a/README.md b/README.md index d6df99617..2ca7cb3e8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ It's a static site generated by [Jekyll](https://github.com/mojombo/jekyll), and ## Dependencies -This site uses a Jekyll, a Ruby framework. The required Jekyll version is 3.3.0. +This site uses a Jekyll, a Ruby framework. The required Jekyll version is 3.4.0. ## Building the site @@ -33,9 +33,9 @@ you used to run Jekyll. ### Option 2) Building with global Jekyll -Install Jekyll 3.3.0 on your system using RubyGems: +Install Jekyll 3.4.0 on your system using RubyGems: - gem install jekyll -v 3.3.0 + gem install jekyll -v 3.4.0 After cloning, `cd` into the directory where you cloned this repository and run: @@ -97,7 +97,34 @@ The least error-prone way to link between documents, to link to local images, or Here, `{{ site.baseurl }}` is a site-wide variable that represents the root directory of the static site. So, to display the Scala logo image, located in `img/scala-logo.png`, one must simply write: `![Img alt text]({{ site.baseurl }}/resources/img/scala-logo.png)` +## Permalinks +In this new version of the scala-lang site we've tried to follow a `pretty permalink` style, so that any generated page will have an permalink finishing in a slash character (`/`). This will tell Jekyll to build that particular page as an `index.html` inside a folder with a name as specified in the provided permalink. i.e.: if a page has a permalink as follows: + +`permalink: /what-is-scala/` + +This will tell Jekyll to create a `what-is-scala` folder, with an `index.html` file inside. Links to this page will refer to the `{{site.baseurl}}/what-is-scala/`. + +## Custom collections and data + +In the previous version of the site, data used in different pages was contained in categorized blogs. This has been changed to use custom collections. Every custom collection is a folder starting with an underscore character (`_`), containing a `markdown` file for each member of the collection. As any markdown containing a page in the site, it starts with a YAML front matter containing the data for this item, and can optionally contain markdown text to be rendered as html. + +Right now there are no collections being rendered as specific pages in the site (they're only consumed internally as static data), but in the future this can be changed by specifying the global `output: true` variable in the `_config.yml` custom collections section. You'll also need to specify a layout by using the `defaults` settings in the `_config.yml` file. i.e.: + +``` +defaults: + - scope: + path: "" + type: collection_name + values: + layout: layout_name +``` + +To access data from a custom collection just refer to `site.`. The collection's name will be the name of its folder sans the underscore character. i.e.: to access the data inside `_downloads`, you can do it as follows: + +`site.downloads` + +Some of the data has been also modelled as YAML files inside the `_data` folder. Generally for data that is used throughout the site (i.e: the navigation bar links). ## Resources and Workflow diff --git a/Rakefile b/Rakefile new file mode 100644 index 000000000..4ab666ebb --- /dev/null +++ b/Rakefile @@ -0,0 +1,5 @@ +namespace :assets do + task :precompile do + puts `bundle exec jekyll build --destination ./site` + end +end \ No newline at end of file diff --git a/_books/1-programming-in-scala-3rd.md b/_books/1-programming-in-scala-3rd.md new file mode 100644 index 000000000..4c04d132c --- /dev/null +++ b/_books/1-programming-in-scala-3rd.md @@ -0,0 +1,12 @@ +--- +title: "Programming in Scala, 3rd ed" +link: http://booksites.artima.com/programming_in_scala_3ed +image: /resources/img/books/ProgrammingInScala.gif +status: Updated for Scala 2.12 +authors: ["Martin Odersky", "Lex Spoon", "Bill Benners"] +publisher: +--- + +(First edition [available for free online reading](http://www.artima.com/pins1ed/)) + +Being co-written by the language's designer, Martin Odersky, you will find it provides additional depth and clarity to the diverse features of the language. The book provides both an authoritative reference for Scala and a systematic tutorial covering all the features in the language. Once you are familiar with the basics of Scala you will appreciate having this source of invaluable examples and precise explanations of Scala on hand. The book is available from [Artima](http://booksites.artima.com/programming_in_scala_3ed). Award winning book - [Jolt Productivity award](http://www.drdobbs.com/joltawards/232601431) for Technical Books. diff --git a/_books/2-scala-for-the-impatient.md b/_books/2-scala-for-the-impatient.md new file mode 100644 index 000000000..111326921 --- /dev/null +++ b/_books/2-scala-for-the-impatient.md @@ -0,0 +1,22 @@ +--- +title: "Scala for the Impatient" +link: http://www.horstmann.com/scala/index.html +image: /resources/img/books/scala_for_the_impatient.png +status: Available Now +authors: ["Cay S. Horstmann"] +publisher: Addison-Wesley +publisherLink: https://heuk.pearson.com/about-us.html/Addison-Wesley/ +--- + +What you get: + +* A rapid introduction to Scala for programmers who are competent in Java, C#, or C++ +* Blog-length chunks of information that you can digest quickly +* An organization that you'll find useful as a quick reference + +What you don't get: + +* An introduction into programming or object-oriented design +* Religion about the superiority of one paradigm or another +* Cute or academic examples +* Mind-numbing details about syntax minutiae diff --git a/_books/3-programming-scala.md b/_books/3-programming-scala.md new file mode 100644 index 000000000..eb814ff1f --- /dev/null +++ b/_books/3-programming-scala.md @@ -0,0 +1,11 @@ +--- +title: "Programming Scala" +link: http://shop.oreilly.com/product/0636920033073.do +image: /resources/img/books/ProgrammingScala-final-border.gif +status: Updated for Scala 2.11 +authors: ["Alex Payne", "Dean Wampler"] +publisher: O’Reilly +publisherLink: http://www.oreilly.com/ +--- + +Both are industry experts, Alex Payne being the lead API programmer at Twitter, a social networking service based on Scala. O’Reilly, the publisher, writes: "Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution. You'll also learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily." \ No newline at end of file diff --git a/_books/4-functional-programming-in-scala.md b/_books/4-functional-programming-in-scala.md new file mode 100644 index 000000000..9a2740467 --- /dev/null +++ b/_books/4-functional-programming-in-scala.md @@ -0,0 +1,11 @@ +--- +title: "Functional Programming in Scala" +link: https://www.manning.com/books/functional-programming-in-scala +image: /resources/img/books/FPiS_93x116.png +status: Available now +authors: ["Paul Chiusano", "Rúnar Bjarnason"] +publisher: Manning +publisherLink: http://www.manning.com/ +--- + +"Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state... Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming." \ No newline at end of file diff --git a/_books/5-scala-in-depth.md b/_books/5-scala-in-depth.md new file mode 100644 index 000000000..6262e3a4e --- /dev/null +++ b/_books/5-scala-in-depth.md @@ -0,0 +1,11 @@ +--- +title: "Scala in Depth" +link: http://www.manning.com/suereth +image: /resources/img/books/icon_Scala_in_Depth_93x116.png +status: Available now +authors: ["Joshua D. Suereth"] +publisher: Manning +publisherLink: http://www.manning.com/ +--- + +"While information about the Scala language is abundant, skilled practitioners, great examples, and insight into the best practices of the community are harder to find. Scala in Depth bridges that gap, preparing you to adopt Scala successfully for real world projects. Scala in Depth is a unique new book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you though dozens of powerful techniques example by example. There's no heavy-handed theory here-just lots of crisp, practical guides for coding in Scala." \ No newline at end of file diff --git a/_books/6-scala-puzzlers.md b/_books/6-scala-puzzlers.md new file mode 100644 index 000000000..a14d32b18 --- /dev/null +++ b/_books/6-scala-puzzlers.md @@ -0,0 +1,11 @@ +--- +title: "Scala Puzzlers" +link: http://www.artima.com/shop/scala_puzzlers +image: /resources/img/books/icon_Scala_in_Depth_93x116.png +status: Available now +authors: ["Andrew Phillips", "Nermin Šerifović"] +publisher: Artima Press +publisherLink: http://www.artima.com/index.jsp +--- + +"Getting code to do what we want it to do is perhaps the essence of our purpose as developers. So there are few things more intriguing or important than code that we think we understand, but that behaves rather contrary to our expectations. Scala Puzzlers is a collection of such examples in Scala. It is not only an entertaining and instructive way of understanding this highly expressive language better. It will also help you recognize many counter-intuitive traps and pitfalls and prevent them from inflicting further production bug hunt stress on Scala developers." \ No newline at end of file diff --git a/_config.yml b/_config.yml index 113c3d298..89a12132c 100644 --- a/_config.yml +++ b/_config.yml @@ -4,6 +4,8 @@ scalaversion: "2.12.1" baseurl: "" markdown: kramdown +highlighter: + exclude: - bundle-vendor/ - blog/README.md @@ -13,4 +15,44 @@ exclude: - events/README.md - Gemfile - Gemfile.lock + - vendor + - Procfile + - Rakefile future: true + +# Defaults +defaults: + - scope: + path: "" + type: posts + values: + layout: blog-detail + includeTOC: true + +# Custom collections +collections: + scala_items: + output: false + online_courses: + output: false + trainings: + output: false + events: + output: false + contribute_resources: + output: false + contribute_community_tickets: + output: false + books: + output: false + downloads: + output: true + posts: + output: true + +# Pagination +pagination: + limit: false + per_page: 5 + title_suffix: " - :num" + permalink: /:num/ \ No newline at end of file diff --git a/_contribute_community_tickets/1-documentation.md b/_contribute_community_tickets/1-documentation.md new file mode 100644 index 000000000..889b6b890 --- /dev/null +++ b/_contribute_community_tickets/1-documentation.md @@ -0,0 +1,6 @@ +--- +title: Documentation +link: https://issues.scala-lang.org/issues/?filter=13003 +icon: fa fa-file-text +--- +Help augment or correct the documentation. \ No newline at end of file diff --git a/_contribute_community_tickets/2-core-libraries.md b/_contribute_community_tickets/2-core-libraries.md new file mode 100644 index 000000000..8fae5ba24 --- /dev/null +++ b/_contribute_community_tickets/2-core-libraries.md @@ -0,0 +1,6 @@ +--- +title: Core Libraries +link: https://issues.scala-lang.org/issues/?filter=13001 +icon: fa fa-clipboard +--- +Community bugs and enhancements on the core libs. \ No newline at end of file diff --git a/_contribute_community_tickets/3-tools.md b/_contribute_community_tickets/3-tools.md new file mode 100644 index 000000000..202094fe6 --- /dev/null +++ b/_contribute_community_tickets/3-tools.md @@ -0,0 +1,6 @@ +--- +title: Tools +link: https://issues.scala-lang.org/issues/?filter=13002 +icon: fa fa-terminal +--- +Help with the Scala tool chain. \ No newline at end of file diff --git a/_contribute_community_tickets/4-compiler.md b/_contribute_community_tickets/4-compiler.md new file mode 100644 index 000000000..50349f94d --- /dev/null +++ b/_contribute_community_tickets/4-compiler.md @@ -0,0 +1,6 @@ +--- +title: Compiler +link: https://issues.scala-lang.org/issues/?filter=13000 +icon: fa fa-gears +--- +Ready for a challenge? Here's the compiler bugs. \ No newline at end of file diff --git a/_contribute_community_tickets/5-bugs.md b/_contribute_community_tickets/5-bugs.md new file mode 100644 index 000000000..e963bbdbe --- /dev/null +++ b/_contribute_community_tickets/5-bugs.md @@ -0,0 +1,6 @@ +--- +title: Bugs +link: https://issues.scala-lang.org/issues/?filter=13004 +icon: fa fa-pencil +--- +All bugs marked with the label *community*. \ No newline at end of file diff --git a/_contribute_community_tickets/6-all-issues.md b/_contribute_community_tickets/6-all-issues.md new file mode 100644 index 000000000..7a3feda65 --- /dev/null +++ b/_contribute_community_tickets/6-all-issues.md @@ -0,0 +1,6 @@ +--- +title: All Issues +link: https://issues.scala-lang.org/issues/?filter=13009 +icon: fa fa-list-ul +--- +Bugs + Enhancements marked with the label *community*. \ No newline at end of file diff --git a/_contribute_resources/1-documentation.md b/_contribute_resources/1-documentation.md new file mode 100644 index 000000000..27739dee6 --- /dev/null +++ b/_contribute_resources/1-documentation.md @@ -0,0 +1,6 @@ +--- +title: Documentation +link: /contribute/documentation/ +icon: fa fa-file-text +--- +[Scaladoc (API)](/contribute/scala-standard-library-api-documentation/),[docs.scala-lang.org](http://docs.scala-lang.org/contribute.html) and [scala-lang.org](https://github.com/scala/scala-lang). \ No newline at end of file diff --git a/_contribute_resources/2-bug-fixes.md b/_contribute_resources/2-bug-fixes.md new file mode 100644 index 000000000..d10adb790 --- /dev/null +++ b/_contribute_resources/2-bug-fixes.md @@ -0,0 +1,6 @@ +--- +title: Bug fixes +link: /contribute/guide/ +icon: fa fa-pencil +--- +Issues with the tools, core libraries and compiler. Also you can help us by [reporting bugs](/contribute/bug-reporting-guide/). \ No newline at end of file diff --git a/_contribute_resources/3-code-reviews.md b/_contribute_resources/3-code-reviews.md new file mode 100644 index 000000000..2ab235993 --- /dev/null +++ b/_contribute_resources/3-code-reviews.md @@ -0,0 +1,8 @@ +--- +title: Code Reviews +link: /contribute/codereviews/ +icon: fa fa-eye +--- +Review pull requests against [scala/scala](https://github.com/scala/scala/pulls), +[scala/scala-lang](https://github.com/scala/scala-lang/pulls), +[scala/scala.github.com](https://github.com/scala/scala.github.com/pulls)and others. \ No newline at end of file diff --git a/_contribute_resources/4-core-libraries.md b/_contribute_resources/4-core-libraries.md new file mode 100644 index 000000000..7ad75c575 --- /dev/null +++ b/_contribute_resources/4-core-libraries.md @@ -0,0 +1,6 @@ +--- +title: Core Libraries +link: /contribute/corelibs/ +icon: fa fa-clipboard +--- +Update and expand the capabilities of the core (and associated) Scala libraries. \ No newline at end of file diff --git a/_contribute_resources/5-ide-and-build-tools.md b/_contribute_resources/5-ide-and-build-tools.md new file mode 100644 index 000000000..4b8bd2ed5 --- /dev/null +++ b/_contribute_resources/5-ide-and-build-tools.md @@ -0,0 +1,6 @@ +--- +title: IDE and Build Tools +link: /contribute/tools/ +icon: fa fa-terminal +--- +Enhance the Scala tools with features for build tools, IDE plug-ins and other related projects. \ No newline at end of file diff --git a/_contribute_resources/6-compiler-language.md b/_contribute_resources/6-compiler-language.md new file mode 100644 index 000000000..0c4eaa132 --- /dev/null +++ b/_contribute_resources/6-compiler-language.md @@ -0,0 +1,6 @@ +--- +title: Compiler/Language +link: /contribute/guide/#larger-changes-new-features +icon: fa fa-gears +--- +Larger language features and compiler enhancements including language specification and SIPs. \ No newline at end of file diff --git a/_data/blog-categories.yml b/_data/blog-categories.yml new file mode 100644 index 000000000..1e29da843 --- /dev/null +++ b/_data/blog-categories.yml @@ -0,0 +1,9 @@ +- categoryId: blog + title: Blog + url: /blog/posts/ +- categoryId: news + title: News + url: /blog/news/ +- categoryId: announcements + title: Announcement + url: /blog/announcements/ \ No newline at end of file diff --git a/_data/chats-forums.yml b/_data/chats-forums.yml new file mode 100644 index 000000000..d703ac95d --- /dev/null +++ b/_data/chats-forums.yml @@ -0,0 +1,31 @@ +# Discourse forums +discourseForums: + - title: Scala Users Discourse + subtitle: for general Scala questions, discussion and library announcements + url: https://users.scala-lang.org/ + cssClass: scala-user-discourse + - title: Scala Contributors Discourse + subtitle: for Scala contributions, language evolution dicussions, standard library, Scala platform evolution discussions and more + url: https://contributors.scala-lang.org/ + cssClass: scala-contributors-discourse + +# Gitter channels +gitterChannels: + - name: scala + url: https://gitter.im/scala/scala + - name: center + url: https://gitter.im/scala/center + - name: contributors + url: https://gitter.im/scala/contributors + - name: pickling + url: https://gitter.im/scala/pickling + - name: scala-parser-combinator + url: https://gitter.im/scala/scala-parser-combinator + - name: collection-strawman + url: https://gitter.im/scala/collection-strawman + - name: scala-xml + url: https://gitter.im/scala/scala-xml + - name: scala-india + url: https://gitter.im/scala/scala-india + - name: community-builds + url: https://gitter.im/scala/community-builds \ No newline at end of file diff --git a/_data/common.yml b/_data/common.yml new file mode 100644 index 000000000..db3d6d9f1 --- /dev/null +++ b/_data/common.yml @@ -0,0 +1,20 @@ +# SNS URLs +githubUrl: https://github.com/scala/scala +twitterUrl: https://twitter.com/scala_lang +scaladexUrl: https://scaladex.scala-lang.org +scastieUrl: https://scastie.scala-lang.org +courseraMoocsUrl: https://www.coursera.org/specializations/scala + +texts: + scalaBackendsTitle: Scala runs on... + scalaBackendsMore: with more backends on the way. + ensimeSupportedInIDE: ensime plugin available + onlineCoursesFree: Free (optional paid certificate) + onlineCoursesPaid: Paid (with certificate) + courseraLaunchPeriod: New sessions starting every 2 weeks! + scalaMaintainersTitle: The Scala language is maintained by + scalaSupportersTitle: Scala Center is supported by + frontpageMarker: "Scala began life in 2003, created by Martin Odersky and his research group at EPFL, next to Lake Geneva and the Alps, in Lausanne, Switzerland. Scala has since grown into a mature open source programming language, used by hundreds of thousands of developers, and is developed and maintained by scores of people all over the world." + booksBy: "by" + +copyrightText: "Copyright © 2002-2016 École Polytechnique Fédérale
Lausanne (EPFL) Lausanne, Switzerland" \ No newline at end of file diff --git a/_data/downloads.yml b/_data/downloads.yml new file mode 100644 index 000000000..0ffa1c3f0 --- /dev/null +++ b/_data/downloads.yml @@ -0,0 +1,29 @@ +stepOne: + - os: linux + text: "

java -version(Make sure you have version 1.8.)

" + - os: unix + text: "

java -version(Make sure you have version 1.8.)

" + - os: osx + text: "

java -version(Make sure you have version 1.8.)

" + - os: windows + text: "

" + +intellijUrls: + - os: linux + url: https://www.jetbrains.com/idea + - os: unix + url: https://www.jetbrains.com/idea + - os: osx + url: https://www.jetbrains.com/idea + - os: windows + url: https://www.jetbrains.com/idea + +sbtUrls: + - os: linux + url: http://www.scala-sbt.org/download.html + - os: unix + url: http://www.scala-sbt.org/download.html + - os: osx + url: http://www.scala-sbt.org/download.html + - os: windows + url: http://www.scala-sbt.org/download.html \ No newline at end of file diff --git a/_data/footer.yml b/_data/footer.yml new file mode 100644 index 000000000..2f7693d60 --- /dev/null +++ b/_data/footer.yml @@ -0,0 +1,56 @@ +- title: Documentation + class: documentation + links: + - title: Getting Started + url: /documentation/getting-started/ + - title: API + url: "http://www.scala-lang.org/api/current/index.html" + - title: Overviews/Guides + url: "http://docs.scala-lang.org/overviews" + - title: Tutorials + url: "http://docs.scala-lang.org/tutorials/" + - title: Language Specification + url: "http://scala-lang.org/files/archive/spec/2.12/" +- title: Download + class: download + links: + - title: Current Version + url: "/download/" + - title: All versions + url: "/download/all/" +- title: Community + class: community + links: + - title: Community + url: "/community/" + - title: Mailing Lists + url: "/community/index.html#mailing-lists" + - title: Chat Rooms & More + url: "/community/index.html#chat-rooms" + - title: Libraries and Tools + url: "/community/index.html#community-libraries-and-tools" + - title: "The Scala Center" + url: https://scala.epfl.ch/ +- title: Contribute + class: contribute + links: + - title: How to help + url: "/contribute/" + - title: Report an Issue + url: "/contribute/bug-reporting-guide/" +- title: Scala + class: scala + links: + - title: Blog + url: "/blog/" + - title: Code of Conduct + url: "/conduct/" + - title: License + url: "/license/" +- title: Social + class: social + links: + - title: GitHub + url: "https://github.com/scala/scala" + - title: Twitter + url: "https://twitter.com/scala_lang" \ No newline at end of file diff --git a/_data/nav-header.yml b/_data/nav-header.yml new file mode 100644 index 000000000..5c8455ed2 --- /dev/null +++ b/_data/nav-header.yml @@ -0,0 +1,10 @@ +- title: Documentation + url: /documentation/ +- title: Download + url: /download/ +- title: Community + url: /community/ +- title: Contribute + url: /contribute/ +- title: Blog + url: /blog/ \ No newline at end of file diff --git a/_data/scala-supporters.yml b/_data/scala-supporters.yml new file mode 100644 index 000000000..a858769b9 --- /dev/null +++ b/_data/scala-supporters.yml @@ -0,0 +1,35 @@ +supporters: + - name: EPFL + logo: /resources/img/frontpage/epfl-logo.png + url: https://www.epfl.ch + - name: IBM + logo: /resources/img/frontpage/ibm-logo.png + url: http://www.ibm.com + - name: Verizon + logo: /resources/img/frontpage/verizon-logo.png + url: http://www.verizon.com + - name: Goldman Sachs + logo: /resources/img/frontpage/goldman-logo.png + url: http://www.goldmansachs.com + - name: Nitro + logo: /resources/img/frontpage/nitro-logo.png + url: https://www.gonitro.com + - name: 47 Degrees + logo: /resources/img/frontpage/47deg-logo.png + url: http://www.47deg.com/ + - name: SAP + logo: /resources/img/frontpage/sap-logo.png + url: http://www.sap.com + - name: TAPAD + logo: /resources/img/frontpage/tapad-logo.png + url: http://www.tapad.com + - name: Your company + logo: /resources/img/frontpage/company-logo.png + url: https://scala.epfl.ch/individual-membership.html +maintainers: + - name: Scala Center + logo: /resources/img/frontpage/scalacenter-logo.png + url: https://scala.epfl.ch/ + - name: Lightbend + logo: /resources/img/frontpage/lightbend-logo.png + url: http://www.lightbend.com/ \ No newline at end of file diff --git a/_data/tutorials.yml b/_data/tutorials.yml new file mode 100644 index 000000000..07c3be4d7 --- /dev/null +++ b/_data/tutorials.yml @@ -0,0 +1,12 @@ +- title: Introduction + url: http://docs.scala-lang.org/tutorials/tour/tour-of-scala.html +- title: Unified Types + url: http://docs.scala-lang.org/tutorials/tour/unified-types.html +- title: Traits + url: http://docs.scala-lang.org/tutorials/tour/traits.html +- title: Higher-order Functions + url: http://docs.scala-lang.org/tutorials/tour/anonymous-function-syntax.html +- title: Case Classes + url: http://docs.scala-lang.org/tutorials/tour/case-classes.html +- title: Pattern Matching + url: http://docs.scala-lang.org/tutorials/tour/pattern-matching.html \ No newline at end of file diff --git a/download/_posts/2007-05-21-2.5.0.final.md b/_downloads/2007-05-21-2.5.0.final.md similarity index 100% rename from download/_posts/2007-05-21-2.5.0.final.md rename to _downloads/2007-05-21-2.5.0.final.md diff --git a/download/_posts/2007-06-13-2.5.1.final.md b/_downloads/2007-06-13-2.5.1.final.md similarity index 100% rename from download/_posts/2007-06-13-2.5.1.final.md rename to _downloads/2007-06-13-2.5.1.final.md diff --git a/download/_posts/2007-09-11-2.6.0.final.md b/_downloads/2007-09-11-2.6.0.final.md similarity index 100% rename from download/_posts/2007-09-11-2.6.0.final.md rename to _downloads/2007-09-11-2.6.0.final.md diff --git a/download/_posts/2007-12-19-2.6.1.final.md b/_downloads/2007-12-19-2.6.1.final.md similarity index 100% rename from download/_posts/2007-12-19-2.6.1.final.md rename to _downloads/2007-12-19-2.6.1.final.md diff --git a/download/_posts/2008-03-06-2.7.0.final.md b/_downloads/2008-03-06-2.7.0.final.md similarity index 100% rename from download/_posts/2008-03-06-2.7.0.final.md rename to _downloads/2008-03-06-2.7.0.final.md diff --git a/download/_posts/2008-05-05-2.7.1.final.md b/_downloads/2008-05-05-2.7.1.final.md similarity index 100% rename from download/_posts/2008-05-05-2.7.1.final.md rename to _downloads/2008-05-05-2.7.1.final.md diff --git a/download/_posts/2008-11-10-2.7.2.final.md b/_downloads/2008-11-10-2.7.2.final.md similarity index 100% rename from download/_posts/2008-11-10-2.7.2.final.md rename to _downloads/2008-11-10-2.7.2.final.md diff --git a/download/_posts/2009-01-13-2.7.3.final.md b/_downloads/2009-01-13-2.7.3.final.md similarity index 100% rename from download/_posts/2009-01-13-2.7.3.final.md rename to _downloads/2009-01-13-2.7.3.final.md diff --git a/download/_posts/2009-04-24-2.7.4.final.md b/_downloads/2009-04-24-2.7.4.final.md similarity index 100% rename from download/_posts/2009-04-24-2.7.4.final.md rename to _downloads/2009-04-24-2.7.4.final.md diff --git a/download/_posts/2009-06-02-2.7.5.final.md b/_downloads/2009-06-02-2.7.5.final.md similarity index 100% rename from download/_posts/2009-06-02-2.7.5.final.md rename to _downloads/2009-06-02-2.7.5.final.md diff --git a/download/_posts/2009-09-10-2.7.6.final.md b/_downloads/2009-09-10-2.7.6.final.md similarity index 100% rename from download/_posts/2009-09-10-2.7.6.final.md rename to _downloads/2009-09-10-2.7.6.final.md diff --git a/download/_posts/2009-12-28-2.7.7.final.md b/_downloads/2009-12-28-2.7.7.final.md similarity index 100% rename from download/_posts/2009-12-28-2.7.7.final.md rename to _downloads/2009-12-28-2.7.7.final.md diff --git a/download/_posts/2010-07-14-2.8.0.final.md b/_downloads/2010-07-14-2.8.0.final.md similarity index 100% rename from download/_posts/2010-07-14-2.8.0.final.md rename to _downloads/2010-07-14-2.8.0.final.md diff --git a/download/_posts/2010-11-09-2.8.1.final.md b/_downloads/2010-11-09-2.8.1.final.md similarity index 100% rename from download/_posts/2010-11-09-2.8.1.final.md rename to _downloads/2010-11-09-2.8.1.final.md diff --git a/download/_posts/2011-05-12-2.9.0.final.md b/_downloads/2011-05-12-2.9.0.final.md similarity index 100% rename from download/_posts/2011-05-12-2.9.0.final.md rename to _downloads/2011-05-12-2.9.0.final.md diff --git a/download/_posts/2011-05-25-2.9.0.1.md b/_downloads/2011-05-25-2.9.0.1.md similarity index 100% rename from download/_posts/2011-05-25-2.9.0.1.md rename to _downloads/2011-05-25-2.9.0.1.md diff --git a/download/_posts/2011-08-31-2.9.1.final.md b/_downloads/2011-08-31-2.9.1.final.md similarity index 100% rename from download/_posts/2011-08-31-2.9.1.final.md rename to _downloads/2011-08-31-2.9.1.final.md diff --git a/download/_posts/2011-09-27-2.8.2.final.md b/_downloads/2011-09-27-2.8.2.final.md similarity index 100% rename from download/_posts/2011-09-27-2.8.2.final.md rename to _downloads/2011-09-27-2.8.2.final.md diff --git a/download/_posts/2012-03-04-2.9.1-1.md b/_downloads/2012-03-04-2.9.1-1.md similarity index 100% rename from download/_posts/2012-03-04-2.9.1-1.md rename to _downloads/2012-03-04-2.9.1-1.md diff --git a/download/_posts/2012-04-13-2.9.2.md b/_downloads/2012-04-13-2.9.2.md similarity index 100% rename from download/_posts/2012-04-13-2.9.2.md rename to _downloads/2012-04-13-2.9.2.md diff --git a/download/_posts/2013-02-28-2.9.3.md b/_downloads/2013-02-28-2.9.3.md similarity index 100% rename from download/_posts/2013-02-28-2.9.3.md rename to _downloads/2013-02-28-2.9.3.md diff --git a/download/_posts/2013-03-13-2.10.1.md b/_downloads/2013-03-13-2.10.1.md similarity index 100% rename from download/_posts/2013-03-13-2.10.1.md rename to _downloads/2013-03-13-2.10.1.md diff --git a/download/_posts/2013-03-14-2.11.0-M2.md b/_downloads/2013-03-14-2.11.0-M2.md similarity index 100% rename from download/_posts/2013-03-14-2.11.0-M2.md rename to _downloads/2013-03-14-2.11.0-M2.md diff --git a/download/_posts/2013-05-29-2.11.0-M3.md b/_downloads/2013-05-29-2.11.0-M3.md similarity index 100% rename from download/_posts/2013-05-29-2.11.0-M3.md rename to _downloads/2013-05-29-2.11.0-M3.md diff --git a/download/_posts/2013-05-31-2.10.2-RC2.md b/_downloads/2013-05-31-2.10.2-RC2.md similarity index 100% rename from download/_posts/2013-05-31-2.10.2-RC2.md rename to _downloads/2013-05-31-2.10.2-RC2.md diff --git a/download/_posts/2013-06-06-2.10.2.md b/_downloads/2013-06-06-2.10.2.md similarity index 100% rename from download/_posts/2013-06-06-2.10.2.md rename to _downloads/2013-06-06-2.10.2.md diff --git a/download/_posts/2013-07-11-2.11.0-M4.md b/_downloads/2013-07-11-2.11.0-M4.md similarity index 100% rename from download/_posts/2013-07-11-2.11.0-M4.md rename to _downloads/2013-07-11-2.11.0-M4.md diff --git a/download/_posts/2013-09-18-2.10.3-RC2.md b/_downloads/2013-09-18-2.10.3-RC2.md similarity index 100% rename from download/_posts/2013-09-18-2.10.3-RC2.md rename to _downloads/2013-09-18-2.10.3-RC2.md diff --git a/download/_posts/2013-09-24-2.10.3-RC3.md b/_downloads/2013-09-24-2.10.3-RC3.md similarity index 100% rename from download/_posts/2013-09-24-2.10.3-RC3.md rename to _downloads/2013-09-24-2.10.3-RC3.md diff --git a/download/_posts/2013-09-27-2.11.0-M5.md b/_downloads/2013-09-27-2.11.0-M5.md similarity index 100% rename from download/_posts/2013-09-27-2.11.0-M5.md rename to _downloads/2013-09-27-2.11.0-M5.md diff --git a/download/_posts/2013-10-01-2.10.3.md b/_downloads/2013-10-01-2.10.3.md similarity index 100% rename from download/_posts/2013-10-01-2.10.3.md rename to _downloads/2013-10-01-2.10.3.md diff --git a/download/_posts/2013-11-27-2.11.0-M7.md b/_downloads/2013-11-27-2.11.0-M7.md similarity index 100% rename from download/_posts/2013-11-27-2.11.0-M7.md rename to _downloads/2013-11-27-2.11.0-M7.md diff --git a/download/_posts/2013-12-20-2.10.4-RC1.md b/_downloads/2013-12-20-2.10.4-RC1.md similarity index 100% rename from download/_posts/2013-12-20-2.10.4-RC1.md rename to _downloads/2013-12-20-2.10.4-RC1.md diff --git a/download/_posts/2014-01-28-2.11.0-M8.md b/_downloads/2014-01-28-2.11.0-M8.md similarity index 100% rename from download/_posts/2014-01-28-2.11.0-M8.md rename to _downloads/2014-01-28-2.11.0-M8.md diff --git a/download/_posts/2014-02-04-2.10.4-RC2.md b/_downloads/2014-02-04-2.10.4-RC2.md similarity index 100% rename from download/_posts/2014-02-04-2.10.4-RC2.md rename to _downloads/2014-02-04-2.10.4-RC2.md diff --git a/download/_posts/2014-02-25-2.10.4-RC3.md b/_downloads/2014-02-25-2.10.4-RC3.md similarity index 100% rename from download/_posts/2014-02-25-2.10.4-RC3.md rename to _downloads/2014-02-25-2.10.4-RC3.md diff --git a/download/_posts/2014-03-06-2.11.0-RC1.md b/_downloads/2014-03-06-2.11.0-RC1.md similarity index 100% rename from download/_posts/2014-03-06-2.11.0-RC1.md rename to _downloads/2014-03-06-2.11.0-RC1.md diff --git a/download/_posts/2014-03-20-2.11.0-RC3.md b/_downloads/2014-03-20-2.11.0-RC3.md similarity index 100% rename from download/_posts/2014-03-20-2.11.0-RC3.md rename to _downloads/2014-03-20-2.11.0-RC3.md diff --git a/download/_posts/2014-03-24-2.10.4.md b/_downloads/2014-03-24-2.10.4.md similarity index 100% rename from download/_posts/2014-03-24-2.10.4.md rename to _downloads/2014-03-24-2.10.4.md diff --git a/download/_posts/2014-04-08-2.11.0-RC4.md b/_downloads/2014-04-08-2.11.0-RC4.md similarity index 100% rename from download/_posts/2014-04-08-2.11.0-RC4.md rename to _downloads/2014-04-08-2.11.0-RC4.md diff --git a/download/_posts/2014-04-21-2.11.0.md b/_downloads/2014-04-21-2.11.0.md similarity index 100% rename from download/_posts/2014-04-21-2.11.0.md rename to _downloads/2014-04-21-2.11.0.md diff --git a/download/_posts/2014-05-21-2.11.1.md b/_downloads/2014-05-21-2.11.1.md similarity index 100% rename from download/_posts/2014-05-21-2.11.1.md rename to _downloads/2014-05-21-2.11.1.md diff --git a/download/_posts/2014-07-24-2.11.2.md b/_downloads/2014-07-24-2.11.2.md similarity index 100% rename from download/_posts/2014-07-24-2.11.2.md rename to _downloads/2014-07-24-2.11.2.md diff --git a/download/_posts/2014-10-30-2.11.4.md b/_downloads/2014-10-30-2.11.4.md similarity index 100% rename from download/_posts/2014-10-30-2.11.4.md rename to _downloads/2014-10-30-2.11.4.md diff --git a/download/_posts/2015-01-14-2.11.5.md b/_downloads/2015-01-14-2.11.5.md similarity index 100% rename from download/_posts/2015-01-14-2.11.5.md rename to _downloads/2015-01-14-2.11.5.md diff --git a/download/_posts/2015-03-05-2.10.5.md b/_downloads/2015-03-05-2.10.5.md similarity index 100% rename from download/_posts/2015-03-05-2.10.5.md rename to _downloads/2015-03-05-2.10.5.md diff --git a/download/_posts/2015-03-05-2.11.6.md b/_downloads/2015-03-05-2.11.6.md similarity index 100% rename from download/_posts/2015-03-05-2.11.6.md rename to _downloads/2015-03-05-2.11.6.md diff --git a/download/_posts/2015-05-05-2.12.0-M1.md b/_downloads/2015-05-05-2.12.0-M1.md similarity index 100% rename from download/_posts/2015-05-05-2.12.0-M1.md rename to _downloads/2015-05-05-2.12.0-M1.md diff --git a/download/_posts/2015-06-23-2.11.7.md b/_downloads/2015-06-23-2.11.7.md similarity index 100% rename from download/_posts/2015-06-23-2.11.7.md rename to _downloads/2015-06-23-2.11.7.md diff --git a/download/_posts/2015-07-14-2.12.0-M2.md b/_downloads/2015-07-14-2.12.0-M2.md similarity index 100% rename from download/_posts/2015-07-14-2.12.0-M2.md rename to _downloads/2015-07-14-2.12.0-M2.md diff --git a/download/_posts/2015-09-18-2.10.6.md b/_downloads/2015-09-18-2.10.6.md similarity index 100% rename from download/_posts/2015-09-18-2.10.6.md rename to _downloads/2015-09-18-2.10.6.md diff --git a/download/_posts/2015-10-06-2.12.0-M3.md b/_downloads/2015-10-06-2.12.0-M3.md similarity index 100% rename from download/_posts/2015-10-06-2.12.0-M3.md rename to _downloads/2015-10-06-2.12.0-M3.md diff --git a/download/_posts/2016-03-08-2.11.8.md b/_downloads/2016-03-08-2.11.8.md similarity index 100% rename from download/_posts/2016-03-08-2.11.8.md rename to _downloads/2016-03-08-2.11.8.md diff --git a/download/_posts/2016-04-11-2.12.0-M4.md b/_downloads/2016-04-11-2.12.0-M4.md similarity index 100% rename from download/_posts/2016-04-11-2.12.0-M4.md rename to _downloads/2016-04-11-2.12.0-M4.md diff --git a/download/_posts/2016-06-29-2.12.0-M5.md b/_downloads/2016-06-29-2.12.0-M5.md similarity index 100% rename from download/_posts/2016-06-29-2.12.0-M5.md rename to _downloads/2016-06-29-2.12.0-M5.md diff --git a/download/_posts/2016-09-06-2.12.0-RC1.md b/_downloads/2016-09-06-2.12.0-RC1.md similarity index 100% rename from download/_posts/2016-09-06-2.12.0-RC1.md rename to _downloads/2016-09-06-2.12.0-RC1.md diff --git a/download/_posts/2016-10-18-2.12.0-RC2.md b/_downloads/2016-10-18-2.12.0-RC2.md similarity index 100% rename from download/_posts/2016-10-18-2.12.0-RC2.md rename to _downloads/2016-10-18-2.12.0-RC2.md diff --git a/download/_posts/2016-11-03-2.12.0.md b/_downloads/2016-11-03-2.12.0.md similarity index 100% rename from download/_posts/2016-11-03-2.12.0.md rename to _downloads/2016-11-03-2.12.0.md diff --git a/download/_posts/2016-12-05-2.12.1.md b/_downloads/2016-12-05-2.12.1.md similarity index 100% rename from download/_posts/2016-12-05-2.12.1.md rename to _downloads/2016-12-05-2.12.1.md diff --git a/events/_posts/2013-02-15-OutdatedEvent.md b/_events/2013-02-15-OutdatedEvent.md similarity index 100% rename from events/_posts/2013-02-15-OutdatedEvent.md rename to _events/2013-02-15-OutdatedEvent.md diff --git a/events/_posts/2013-03-02-TestEvent.md b/_events/2013-03-02-TestEvent.md similarity index 100% rename from events/_posts/2013-03-02-TestEvent.md rename to _events/2013-03-02-TestEvent.md diff --git a/events/_posts/2013-03-12-AnotherEvent.md b/_events/2013-03-12-AnotherEvent.md similarity index 100% rename from events/_posts/2013-03-12-AnotherEvent.md rename to _events/2013-03-12-AnotherEvent.md diff --git a/events/_posts/2013-07-08-lambda-jam-chicago.md b/_events/2013-07-08-lambda-jam-chicago.md similarity index 100% rename from events/_posts/2013-07-08-lambda-jam-chicago.md rename to _events/2013-07-08-lambda-jam-chicago.md diff --git a/events/_posts/2013-08-02-svss.md b/_events/2013-08-02-svss.md similarity index 100% rename from events/_posts/2013-08-02-svss.md rename to _events/2013-08-02-svss.md diff --git a/events/_posts/2013-09-18-strange-loop.md b/_events/2013-09-18-strange-loop.md similarity index 100% rename from events/_posts/2013-09-18-strange-loop.md rename to _events/2013-09-18-strange-loop.md diff --git a/events/_posts/2013-09-22-cufp.md b/_events/2013-09-22-cufp.md similarity index 100% rename from events/_posts/2013-09-22-cufp.md rename to _events/2013-09-22-cufp.md diff --git a/events/_posts/2013-09-25-icfp.md b/_events/2013-09-25-icfp.md similarity index 100% rename from events/_posts/2013-09-25-icfp.md rename to _events/2013-09-25-icfp.md diff --git a/events/_posts/2013-10-19-pnwscala.md b/_events/2013-10-19-pnwscala.md similarity index 100% rename from events/_posts/2013-10-19-pnwscala.md rename to _events/2013-10-19-pnwscala.md diff --git a/events/_posts/2013-10-24-scala-io.md b/_events/2013-10-24-scala-io.md similarity index 100% rename from events/_posts/2013-10-24-scala-io.md rename to _events/2013-10-24-scala-io.md diff --git a/events/_posts/2013-10-26-splash.md b/_events/2013-10-26-splash.md similarity index 100% rename from events/_posts/2013-10-26-splash.md rename to _events/2013-10-26-splash.md diff --git a/events/_posts/2013-11-11-devoxx-beligum.md b/_events/2013-11-11-devoxx-beligum.md similarity index 100% rename from events/_posts/2013-11-11-devoxx-beligum.md rename to _events/2013-11-11-devoxx-beligum.md diff --git a/events/_posts/2013-12-2-scala-exchange.md b/_events/2013-12-2-scala-exchange.md similarity index 100% rename from events/_posts/2013-12-2-scala-exchange.md rename to _events/2013-12-2-scala-exchange.md diff --git a/events/_posts/2013-12-3-code-mesh.md b/_events/2013-12-3-code-mesh.md similarity index 100% rename from events/_posts/2013-12-3-code-mesh.md rename to _events/2013-12-3-code-mesh.md diff --git a/events/_posts/2014-01-11-data-days-texas.md b/_events/2014-01-11-data-days-texas.md similarity index 100% rename from events/_posts/2014-01-11-data-days-texas.md rename to _events/2014-01-11-data-days-texas.md diff --git a/events/_posts/2014-02-27-lambda-days.md b/_events/2014-02-27-lambda-days.md similarity index 100% rename from events/_posts/2014-02-27-lambda-days.md rename to _events/2014-02-27-lambda-days.md diff --git a/events/_posts/2014-03-01-nescala.md b/_events/2014-03-01-nescala.md similarity index 100% rename from events/_posts/2014-03-01-nescala.md rename to _events/2014-03-01-nescala.md diff --git a/events/_posts/2014-03-14-fp-exchange.md b/_events/2014-03-14-fp-exchange.md similarity index 100% rename from events/_posts/2014-03-14-fp-exchange.md rename to _events/2014-03-14-fp-exchange.md diff --git a/events/_posts/2014-04-05-scalar.md b/_events/2014-04-05-scalar.md similarity index 100% rename from events/_posts/2014-04-05-scalar.md rename to _events/2014-04-05-scalar.md diff --git a/events/_posts/2014-04-07-react.md b/_events/2014-04-07-react.md similarity index 100% rename from events/_posts/2014-04-07-react.md rename to _events/2014-04-07-react.md diff --git a/events/_posts/2014-04-22-phillyete.md b/_events/2014-04-22-phillyete.md similarity index 100% rename from events/_posts/2014-04-22-phillyete.md rename to _events/2014-04-22-phillyete.md diff --git a/events/_posts/2014-05-12-flatmap-oslo.md b/_events/2014-05-12-flatmap-oslo.md similarity index 100% rename from events/_posts/2014-05-12-flatmap-oslo.md rename to _events/2014-05-12-flatmap-oslo.md diff --git a/events/_posts/2014-06-24-uberconf.md b/_events/2014-06-24-uberconf.md similarity index 100% rename from events/_posts/2014-06-24-uberconf.md rename to _events/2014-06-24-uberconf.md diff --git a/events/_posts/2014-09-05-scala-downunder.md b/_events/2014-09-05-scala-downunder.md similarity index 100% rename from events/_posts/2014-09-05-scala-downunder.md rename to _events/2014-09-05-scala-downunder.md diff --git a/events/_posts/2014-09-06-scala-matsuri.md b/_events/2014-09-06-scala-matsuri.md similarity index 100% rename from events/_posts/2014-09-06-scala-matsuri.md rename to _events/2014-09-06-scala-matsuri.md diff --git a/events/_posts/2014-09-15-scalasummit.md b/_events/2014-09-15-scalasummit.md similarity index 100% rename from events/_posts/2014-09-15-scalasummit.md rename to _events/2014-09-15-scalasummit.md diff --git a/events/_posts/2014-09-17-strange-loop.md b/_events/2014-09-17-strange-loop.md similarity index 100% rename from events/_posts/2014-09-17-strange-loop.md rename to _events/2014-09-17-strange-loop.md diff --git a/events/_posts/2014-09-22-scalapeno.md b/_events/2014-09-22-scalapeno.md similarity index 100% rename from events/_posts/2014-09-22-scalapeno.md rename to _events/2014-09-22-scalapeno.md diff --git a/events/_posts/2014-10-23-scala-io.md b/_events/2014-10-23-scala-io.md similarity index 100% rename from events/_posts/2014-10-23-scala-io.md rename to _events/2014-10-23-scala-io.md diff --git a/events/_posts/2014-12-08-scalax.md b/_events/2014-12-08-scalax.md similarity index 100% rename from events/_posts/2014-12-08-scalax.md rename to _events/2014-12-08-scalax.md diff --git a/events/_posts/2015-01-30-nescala.md b/_events/2015-01-30-nescala.md similarity index 100% rename from events/_posts/2015-01-30-nescala.md rename to _events/2015-01-30-nescala.md diff --git a/events/_posts/2015-02-26-lambda-days.md b/_events/2015-02-26-lambda-days.md similarity index 100% rename from events/_posts/2015-02-26-lambda-days.md rename to _events/2015-02-26-lambda-days.md diff --git a/events/_posts/2015-03-16-scaladaysSF.md b/_events/2015-03-16-scaladaysSF.md similarity index 100% rename from events/_posts/2015-03-16-scaladaysSF.md rename to _events/2015-03-16-scaladaysSF.md diff --git a/events/_posts/2015-04-07-phillyete.md b/_events/2015-04-07-phillyete.md similarity index 100% rename from events/_posts/2015-04-07-phillyete.md rename to _events/2015-04-07-phillyete.md diff --git a/events/_posts/2015-04-11-scalar.md b/_events/2015-04-11-scalar.md similarity index 100% rename from events/_posts/2015-04-11-scalar.md rename to _events/2015-04-11-scalar.md diff --git a/events/_posts/2015-04-27-flatmap-oslo.md b/_events/2015-04-27-flatmap-oslo.md similarity index 100% rename from events/_posts/2015-04-27-flatmap-oslo.md rename to _events/2015-04-27-flatmap-oslo.md diff --git a/events/_posts/2015-05-22-lambdaconf.md b/_events/2015-05-22-lambdaconf.md similarity index 100% rename from events/_posts/2015-05-22-lambdaconf.md rename to _events/2015-05-22-lambdaconf.md diff --git a/events/_posts/2015-06-08-scaladaysAMS.md b/_events/2015-06-08-scaladaysAMS.md similarity index 100% rename from events/_posts/2015-06-08-scaladaysAMS.md rename to _events/2015-06-08-scaladaysAMS.md diff --git a/events/_posts/2015-07-06-curryon.md b/_events/2015-07-06-curryon.md similarity index 100% rename from events/_posts/2015-07-06-curryon.md rename to _events/2015-07-06-curryon.md diff --git a/events/_posts/2015-07-15-lambdajam.md b/_events/2015-07-15-lambdajam.md similarity index 100% rename from events/_posts/2015-07-15-lambdajam.md rename to _events/2015-07-15-lambdajam.md diff --git a/events/_posts/2015-08-10-jvmls.md b/_events/2015-08-10-jvmls.md similarity index 100% rename from events/_posts/2015-08-10-jvmls.md rename to _events/2015-08-10-jvmls.md diff --git a/events/_posts/2015-08-13-scalabythebay.md b/_events/2015-08-13-scalabythebay.md similarity index 100% rename from events/_posts/2015-08-13-scalabythebay.md rename to _events/2015-08-13-scalabythebay.md diff --git a/events/_posts/2015-08-31-icfp.md b/_events/2015-08-31-icfp.md similarity index 100% rename from events/_posts/2015-08-31-icfp.md rename to _events/2015-08-31-icfp.md diff --git a/events/_posts/2015-09-03-cufp.md b/_events/2015-09-03-cufp.md similarity index 100% rename from events/_posts/2015-09-03-cufp.md rename to _events/2015-09-03-cufp.md diff --git a/events/_posts/2015-09-20-scalaworld.md b/_events/2015-09-20-scalaworld.md similarity index 100% rename from events/_posts/2015-09-20-scalaworld.md rename to _events/2015-09-20-scalaworld.md diff --git a/events/_posts/2015-09-25-scalaupnorth.md b/_events/2015-09-25-scalaupnorth.md similarity index 100% rename from events/_posts/2015-09-25-scalaupnorth.md rename to _events/2015-09-25-scalaupnorth.md diff --git a/events/_posts/2015-10-08-applyscala.md b/_events/2015-10-08-applyscala.md similarity index 100% rename from events/_posts/2015-10-08-applyscala.md rename to _events/2015-10-08-applyscala.md diff --git a/events/_posts/2015-10-24-lambda-world.md b/_events/2015-10-24-lambda-world.md similarity index 100% rename from events/_posts/2015-10-24-lambda-world.md rename to _events/2015-10-24-lambda-world.md diff --git a/events/_posts/2015-12-10-scalax15.md b/_events/2015-12-10-scalax15.md similarity index 100% rename from events/_posts/2015-12-10-scalax15.md rename to _events/2015-12-10-scalax15.md diff --git a/events/_posts/2016-01-30-scala-matsuri.md b/_events/2016-01-30-scala-matsuri.md similarity index 100% rename from events/_posts/2016-01-30-scala-matsuri.md rename to _events/2016-01-30-scala-matsuri.md diff --git a/events/_posts/2016-02-11-scalasphere.md b/_events/2016-02-11-scalasphere.md similarity index 100% rename from events/_posts/2016-02-11-scalasphere.md rename to _events/2016-02-11-scalasphere.md diff --git a/events/_posts/2016-02-19-scala-downunder.md b/_events/2016-02-19-scala-downunder.md similarity index 100% rename from events/_posts/2016-02-19-scala-downunder.md rename to _events/2016-02-19-scala-downunder.md diff --git a/events/_posts/2016-03-02-typelevel.md b/_events/2016-03-02-typelevel.md similarity index 100% rename from events/_posts/2016-03-02-typelevel.md rename to _events/2016-03-02-typelevel.md diff --git a/events/_posts/2016-03-04-nescala.md b/_events/2016-03-04-nescala.md similarity index 100% rename from events/_posts/2016-03-04-nescala.md rename to _events/2016-03-04-nescala.md diff --git a/events/_posts/2016-04-08-scalaua.md b/_events/2016-04-08-scalaua.md similarity index 100% rename from events/_posts/2016-04-08-scalaua.md rename to _events/2016-04-08-scalaua.md diff --git a/events/_posts/2016-04-09-lxscala.md b/_events/2016-04-09-lxscala.md similarity index 100% rename from events/_posts/2016-04-09-lxscala.md rename to _events/2016-04-09-lxscala.md diff --git a/events/_posts/2016-04-11-philly-ete.md b/_events/2016-04-11-philly-ete.md similarity index 100% rename from events/_posts/2016-04-11-philly-ete.md rename to _events/2016-04-11-philly-ete.md diff --git a/events/_posts/2016-04-16-scalar.md b/_events/2016-04-16-scalar.md similarity index 100% rename from events/_posts/2016-04-16-scalar.md rename to _events/2016-04-16-scalar.md diff --git a/events/_posts/2016-05-02-flatmap-oslo.md b/_events/2016-05-02-flatmap-oslo.md similarity index 100% rename from events/_posts/2016-05-02-flatmap-oslo.md rename to _events/2016-05-02-flatmap-oslo.md diff --git a/events/_posts/2016-05-04-typelevel.md b/_events/2016-05-04-typelevel.md similarity index 100% rename from events/_posts/2016-05-04-typelevel.md rename to _events/2016-05-04-typelevel.md diff --git a/events/_posts/2016-05-09-scaladays-nyc.md b/_events/2016-05-09-scaladays-nyc.md similarity index 100% rename from events/_posts/2016-05-09-scaladays-nyc.md rename to _events/2016-05-09-scaladays-nyc.md diff --git a/events/_posts/2016-05-14-scala-italy.md b/_events/2016-05-14-scala-italy.md similarity index 100% rename from events/_posts/2016-05-14-scala-italy.md rename to _events/2016-05-14-scala-italy.md diff --git a/events/_posts/2016-05-26-lambdaconf.md b/_events/2016-05-26-lambdaconf.md similarity index 100% rename from events/_posts/2016-05-26-lambdaconf.md rename to _events/2016-05-26-lambdaconf.md diff --git a/events/_posts/2016-06-15-scaladays-berlin.md b/_events/2016-06-15-scaladays-berlin.md similarity index 100% rename from events/_posts/2016-06-15-scaladays-berlin.md rename to _events/2016-06-15-scaladays-berlin.md diff --git a/events/_posts/2016-07-18-curryon.md b/_events/2016-07-18-curryon.md similarity index 100% rename from events/_posts/2016-07-18-curryon.md rename to _events/2016-07-18-curryon.md diff --git a/events/_posts/2016-09-03-scalapolis.md b/_events/2016-09-03-scalapolis.md similarity index 100% rename from events/_posts/2016-09-03-scalapolis.md rename to _events/2016-09-03-scalapolis.md diff --git a/events/_posts/2016-09-11-scalaworld.md b/_events/2016-09-11-scalaworld.md similarity index 100% rename from events/_posts/2016-09-11-scalaworld.md rename to _events/2016-09-11-scalaworld.md diff --git a/events/_posts/2016-09-30-lambdaworld.md b/_events/2016-09-30-lambdaworld.md similarity index 100% rename from events/_posts/2016-09-30-lambdaworld.md rename to _events/2016-09-30-lambdaworld.md diff --git a/events/_posts/2016-10-04-reactivesummit2016.md b/_events/2016-10-04-reactivesummit2016.md similarity index 100% rename from events/_posts/2016-10-04-reactivesummit2016.md rename to _events/2016-10-04-reactivesummit2016.md diff --git a/events/_posts/2016-10-27-scalaio.md b/_events/2016-10-27-scalaio.md similarity index 100% rename from events/_posts/2016-10-27-scalaio.md rename to _events/2016-10-27-scalaio.md diff --git a/events/_posts/2016-10-30-scala2016.md b/_events/2016-10-30-scala2016.md similarity index 100% rename from events/_posts/2016-10-30-scala2016.md rename to _events/2016-10-30-scala2016.md diff --git a/events/_posts/2016-11-11-scala-bythebay.md b/_events/2016-11-11-scala-bythebay.md similarity index 100% rename from events/_posts/2016-11-11-scala-bythebay.md rename to _events/2016-11-11-scala-bythebay.md diff --git a/events/_posts/2016-11-25-bee-scala.md b/_events/2016-11-25-bee-scala.md similarity index 100% rename from events/_posts/2016-11-25-bee-scala.md rename to _events/2016-11-25-bee-scala.md diff --git a/events/_posts/2016-11-25-scalawave.md b/_events/2016-11-25-scalawave.md similarity index 100% rename from events/_posts/2016-11-25-scalawave.md rename to _events/2016-11-25-scalawave.md diff --git a/events/_posts/2016-12-08-scalax16.md b/_events/2016-12-08-scalax16.md similarity index 100% rename from events/_posts/2016-12-08-scalax16.md rename to _events/2016-12-08-scalax16.md diff --git a/events/_posts/2016-12-10-fby.md b/_events/2016-12-10-fby.md similarity index 100% rename from events/_posts/2016-12-10-fby.md rename to _events/2016-12-10-fby.md diff --git a/events/_posts/2017-01-08-winterretreat.md b/_events/2017-01-08-winterretreat.md similarity index 100% rename from events/_posts/2017-01-08-winterretreat.md rename to _events/2017-01-08-winterretreat.md diff --git a/events/_posts/2017-01-24-scalabytheschuylkill.md b/_events/2017-01-24-scalabytheschuylkill.md similarity index 100% rename from events/_posts/2017-01-24-scalabytheschuylkill.md rename to _events/2017-01-24-scalabytheschuylkill.md diff --git a/events/_posts/2017-02-09-lambda-days.md b/_events/2017-02-09-lambda-days.md similarity index 100% rename from events/_posts/2017-02-09-lambda-days.md rename to _events/2017-02-09-lambda-days.md diff --git a/events/_posts/2017-02-18-kats-conf.md b/_events/2017-02-18-kats-conf.md similarity index 100% rename from events/_posts/2017-02-18-kats-conf.md rename to _events/2017-02-18-kats-conf.md diff --git a/events/_posts/2017-02-25-scala-matsuri.md b/_events/2017-02-25-scala-matsuri.md similarity index 100% rename from events/_posts/2017-02-25-scala-matsuri.md rename to _events/2017-02-25-scala-matsuri.md diff --git a/events/_posts/2017-03-02-scalasphere.md b/_events/2017-03-02-scalasphere.md similarity index 100% rename from events/_posts/2017-03-02-scalasphere.md rename to _events/2017-03-02-scalasphere.md diff --git a/events/_posts/2017-03-23-typelevel.md b/_events/2017-03-23-typelevel.md similarity index 100% rename from events/_posts/2017-03-23-typelevel.md rename to _events/2017-03-23-typelevel.md diff --git a/events/_posts/2017-03-24-nescala.md b/_events/2017-03-24-nescala.md similarity index 100% rename from events/_posts/2017-03-24-nescala.md rename to _events/2017-03-24-nescala.md diff --git a/events/_posts/2017-04-07-scalar.md b/_events/2017-04-07-scalar.md similarity index 100% rename from events/_posts/2017-04-07-scalar.md rename to _events/2017-04-07-scalar.md diff --git a/events/_posts/2017-04-07-scalaua.md b/_events/2017-04-07-scalaua.md similarity index 100% rename from events/_posts/2017-04-07-scalaua.md rename to _events/2017-04-07-scalaua.md diff --git a/events/_posts/2017-04-18-scaladays-chicago.md b/_events/2017-04-18-scaladays-chicago.md similarity index 100% rename from events/_posts/2017-04-18-scaladays-chicago.md rename to _events/2017-04-18-scaladays-chicago.md diff --git a/events/_posts/2017-05-03-flatmap-oslo.md b/_events/2017-05-03-flatmap-oslo.md similarity index 100% rename from events/_posts/2017-05-03-flatmap-oslo.md rename to _events/2017-05-03-flatmap-oslo.md diff --git a/events/_posts/2017-05-13-scala-italy.md b/_events/2017-05-13-scala-italy.md similarity index 100% rename from events/_posts/2017-05-13-scala-italy.md rename to _events/2017-05-13-scala-italy.md diff --git a/events/_posts/2017-05-25-lambdaconf.md b/_events/2017-05-25-lambdaconf.md similarity index 100% rename from events/_posts/2017-05-25-lambdaconf.md rename to _events/2017-05-25-lambdaconf.md diff --git a/events/_posts/2017-05-30-scaladays-cph.md b/_events/2017-05-30-scaladays-cph.md similarity index 100% rename from events/_posts/2017-05-30-scaladays-cph.md rename to _events/2017-05-30-scaladays-cph.md diff --git a/events/_posts/2017-06-03-typelevel.md b/_events/2017-06-03-typelevel.md similarity index 100% rename from events/_posts/2017-06-03-typelevel.md rename to _events/2017-06-03-typelevel.md diff --git a/events/_posts/2017-06-20-scala-swarm.md b/_events/2017-06-20-scala-swarm.md similarity index 100% rename from events/_posts/2017-06-20-scala-swarm.md rename to _events/2017-06-20-scala-swarm.md diff --git a/events/_posts/2017-07-01-scalaupnorth.md b/_events/2017-07-01-scalaupnorth.md similarity index 100% rename from events/_posts/2017-07-01-scalaupnorth.md rename to _events/2017-07-01-scalaupnorth.md diff --git a/events/_posts/2017-09-18-scalaworld.md b/_events/2017-09-18-scalaworld.md similarity index 100% rename from events/_posts/2017-09-18-scalaworld.md rename to _events/2017-09-18-scalaworld.md diff --git a/events/_posts/2017-10-18-reactivesummit.md b/_events/2017-10-18-reactivesummit.md similarity index 100% rename from events/_posts/2017-10-18-reactivesummit.md rename to _events/2017-10-18-reactivesummit.md diff --git a/events/_posts/2017-11-09-funcconf.md b/_events/2017-11-09-funcconf.md similarity index 100% rename from events/_posts/2017-11-09-funcconf.md rename to _events/2017-11-09-funcconf.md diff --git a/events/_posts/2017-12-14-scalax17.md b/_events/2017-12-14-scalax17.md similarity index 100% rename from events/_posts/2017-12-14-scalax17.md rename to _events/2017-12-14-scalax17.md diff --git a/events/README.md b/_events/README.md similarity index 100% rename from events/README.md rename to _events/README.md diff --git a/_includes/blog-list.html b/_includes/blog-list.html new file mode 100644 index 000000000..a82eeccc4 --- /dev/null +++ b/_includes/blog-list.html @@ -0,0 +1,75 @@ +{% comment %}Use the include variable 'category' to select the category to show (included in blog-categories.yml), or assign it to "all" if you want to show all posts.{% endcomment %} + +
+
+
+
+ +
+ {% for post in paginator.posts %} +
+

{{post.title}}

+

{{post.date | date: "%A %-d %B %Y"}}

+ {% if post.by %}

{{post.by}}

{% endif %} + {% if post.tags %} +
    + {% for tag in post.tags %} +
  • {{tag}}
  • + {% endfor %} +
+ {% endif %} +
+ {% endfor %} +
+
+ {% for category in site.data.blog-categories %} + {% if category.categoryId == include.category %} + {% assign currentCategoryPath = category.url %} + {% endif %} + {% endfor %} + + {% capture urlPath %}{% if include.category == "all" %}blog{% else %}{{currentCategoryPath}}{% endif %}{% endcapture %} + {% assign urlPath = urlPath | split: '/' | join: '/' | remove_first: '/' %} + {% include paginator.html urlPath=urlPath %} +
+ {% assign highlights = "" | split: "," %} + {% for post in site.posts %} + {% if post.isHighlight == true %} + {% assign highlights = highlights | push: post %} + {% endif %} + {% endfor %} + + {% for post in highlights %} + {% if forloop.first %} +
+
+
Highlights
+
+ {% endif %} +
+

{{post.title}}

+ {% if post.by %}

{{post.by}}

{% endif %} + {% if post.tags %} + {% for tag in post.tags %} +
    +
  • {{tag}}
  • +
+ {% endfor %} + {% endif %} +
+ {% if forloop.last %} +
+
+
+ {% endif %} + {% endfor %} + +
+
\ No newline at end of file diff --git a/_includes/bullet-concurrency-distribution.html b/_includes/bullet-concurrency-distribution.html deleted file mode 100644 index 74945dd10..000000000 --- a/_includes/bullet-concurrency-distribution.html +++ /dev/null @@ -1,20 +0,0 @@ -
-
Concurrent/Distributed
-
val x = future { someExpensiveComputation() }
-val y = future { someOtherExpensiveComputation() }
-val z = for (a <- x; b <- y) yield a*b
-for (c <- z) println("Result: " + c)
-println("Meanwhile, the main thread goes on!")
-
- -
-

Go Concurrent or Distributed with Futures & Promises

-

In Scala, futures and promises can be used to process data asynchronously, making it easier to parallelize or even distribute your application.

-

-In this example, the future{} construct evaluates its argument asynchronously, and returns -a handle to the asynchronous result as a Future[Int]. -For-comprehensions can be used to register new callbacks (to post new things to do) when the future is -completed, i.e., when the computation is finished. -And since all this is executed asynchronously, without blocking, the main -program thread can continue doing other work in the meantime. -

diff --git a/_includes/bullet-higher-order-functions.html b/_includes/bullet-higher-order-functions.html deleted file mode 100644 index 0e20eb2b6..000000000 --- a/_includes/bullet-higher-order-functions.html +++ /dev/null @@ -1,40 +0,0 @@ -
-

Go Functional with Higher-Order Functions

-

In Scala, functions are values, and can be defined as anonymous functions - with a concise syntax.

-
- -
-
Scala
-
val people: Array[Person]
-
-// Partition `people` into two arrays `minors` and `adults`.
-// Use the higher-order function `(_.age < 18)` as a predicate for partitioning.
-val (minors, adults) = people partition (_.age < 18)
-
-
-
Java
-
List<Person> people;
-
-List<Person> minors = new ArrayList<Person>(people.size());
-List<Person> adults = new ArrayList<Person>(people.size());
-for (Person person : people) {
-    if (person.getAge() < 18)
-        minors.add(person);
-    else
-        adults.add(person);
-}
-
- -
-

- In the Scala example on the left, the partition method, available on all - collection types (including Array), returns two new collections - of the same type. Elements from the original collection are partitioned - according to a predicate, which is given as a lambda, i.e., an anonymous - function. The _ stands for the parameter to the lambda, i.e., - the element that is being tested. This particular lambda can also be written - as (x => x.age < 18). -

-

The same program is implemented in Java on the right.

-
\ No newline at end of file diff --git a/_includes/bullet-pattern-matching.html b/_includes/bullet-pattern-matching.html deleted file mode 100644 index 3120870c9..000000000 --- a/_includes/bullet-pattern-matching.html +++ /dev/null @@ -1,27 +0,0 @@ -
-
Pattern matching
-
// Define a set of case classes for representing binary trees.
-sealed abstract class Tree
-case class Node(elem: Int, left: Tree, right: Tree) extends Tree
-case object Leaf extends Tree
-
-// Return the in-order traversal sequence of a given tree.
-def inOrder(t: Tree): List[Int] = t match {
-  case Node(e, l, r) => inOrder(l) ::: List(e) ::: inOrder(r)
-  case Leaf          => List()
-}
-
- -
-

Switch on the structure of your data

-

In Scala, case classes are used to represent structural data -types. They implicitly equip the class with meaningful toString, -equals and hashCode methods, as well as the -ability to be deconstructed with pattern matching.

-

-In this example, we define a small set of case classes that represent binary -trees of integers (the generic version is omitted for simplicity here). -In inOrder, the match construct chooses the right -branch, depending on the type of t, and at the same time -deconstructs the arguments of a Node. -

diff --git a/_includes/column-list-of-items.html b/_includes/column-list-of-items.html new file mode 100644 index 000000000..eb9e1600b --- /dev/null +++ b/_includes/column-list-of-items.html @@ -0,0 +1,18 @@ +{% comment %} + Layouts using this include should pass an include variable called 'collection' referencing a collection carrying the data (i.e.: contribute_community_tickets, contribute_resources...) +{% endcomment %} +
+ {% for item in include.collection %} +
+ +
+ {{item.content}} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/_includes/contributions-projects-list.html b/_includes/contributions-projects-list.html new file mode 100644 index 000000000..5a4c9bdbe --- /dev/null +++ b/_includes/contributions-projects-list.html @@ -0,0 +1,36 @@ +{% comment %} + Layouts using this include should pass an include variable called 'collection' referencing a collection carrying the data +{% endcomment %} +
+ {% for item in include.collection %} +
+ +
+

{{item.description}}

+
    + {% if item.homeLink %} +
  • Home
  • + {% if item.contributingLink or item.readmeLink or item.issuesLink %}
  • {% endif %} + {% endif %} + {% if item.issuesLink %} +
  • Issues
  • + {% if item.contributingLink or item.readmeLink %}
  • {% endif %} + {% endif %} + {% if item.readmeLink %} +
  • ReadMe
  • + {% if item.contributingLink %}
  • {% endif %} + {% endif %} + {% if item.contributingLink %} +
  • Contributing
  • + {% endif %} +
+
+
+ {% endfor %} + +
\ No newline at end of file diff --git a/_includes/disqus.html b/_includes/disqus.html deleted file mode 100644 index e72683c73..000000000 --- a/_includes/disqus.html +++ /dev/null @@ -1,11 +0,0 @@ -
- - - comments powered by Disqus diff --git a/_includes/disqus.txt b/_includes/disqus.txt deleted file mode 100644 index 9650dfa5f..000000000 --- a/_includes/disqus.txt +++ /dev/null @@ -1,19 +0,0 @@ - -
- - -blog comments powered by Disqus \ No newline at end of file diff --git a/_includes/download-resource-list.html b/_includes/download-resource-list.html new file mode 100644 index 000000000..017af455a --- /dev/null +++ b/_includes/download-resource-list.html @@ -0,0 +1,31 @@ +

Other resources

+ +

You can find the installer download links for other operating systems, as well as documentation and source code archives for Scala {{page.release_version}} below.

+ +
+ + + + + {% unless page.dont_show_sizes %} + + {% endunless %} + + + +{% for resource in page.resources %} + + + + {% unless page.dont_show_sizes %} + + {% endunless %} + +{% endfor %} + +
ArchiveSystemSize
+ + {{ resource[1] }} + + {{ resource[3] }}{{ resource[4] }}
+
diff --git a/_includes/downloads-list.html b/_includes/downloads-list.html new file mode 100644 index 000000000..f8a755490 --- /dev/null +++ b/_includes/downloads-list.html @@ -0,0 +1,19 @@ +{% for top in (0..3) reversed %} + {% for major in (0..20) reversed %} + {% assign possibleVersionShort = top | append:'.' | append:major %} + {% assign sz = possibleVersionShort | size %} + {% if 3 == sz %} + {% assign possibleVersion = possibleVersionShort | append:'.' %} + {% else %} + {% assign possibleVersion = possibleVersionShort %} + {% endif %} + {% for page in site.downloads %} + {% assign releaseVersion = page.release_version | truncate:4, '' %} + {% if releaseVersion == possibleVersion %} +
+ {{ page.title }} +
+ {% endif %} + {% endfor %} + {% endfor %} +{% endfor %} \ No newline at end of file diff --git a/_includes/events-training-list-bottom.html b/_includes/events-training-list-bottom.html new file mode 100644 index 000000000..f863e6450 --- /dev/null +++ b/_includes/events-training-list-bottom.html @@ -0,0 +1,12 @@ + + + {% if paginator.total_pages > 1 %} + + {% endif %} + \ No newline at end of file diff --git a/_includes/events-training-list-top.html b/_includes/events-training-list-top.html new file mode 100644 index 000000000..e3a7d0004 --- /dev/null +++ b/_includes/events-training-list-top.html @@ -0,0 +1,73 @@ +{% capture currentYear %}{{site.time | date: '%Y' | plus: 0}}{% endcapture %} + +
+
+
+ {% comment %}Because of Jekyll limitations, we need to pass the paginated collection to iterate in an include variable 'collection'{% endcomment %} + + {% capture firstMonth %}{{include.collection.first.date | date: "%m"}}{% endcapture %} + {% assign firstMonthNum = firstMonth | plus: 0 %} + {% capture lastMonth %}{{include.collection.last.date | date: "%m"}}{% endcapture %} + {% assign lastMonthNum = lastMonth | plus: 0 %} + + {% for m in (firstMonth..lastMonth) %} + {% assign currentMonthEvents = '' | split: ','' %} + + {% for event in include.collection %} + {% capture month %}{{event.date | date: "%m"}}{% endcapture %} + {% assign monthNum = month | plus: 0 %} + {% if monthNum == m %} + {% assign currentMonthEvents = currentMonthEvents | push: event %} + {% endif %} + {% endfor %} + + {% capture monthName %} + {% case m %} + {% when 1 %}January + {% when 2 %}February + {% when 3 %}March + {% when 4 %}April + {% when 5 %}May + {% when 6 %}June + {% when 7 %}July + {% when 8 %}August + {% when 9 %}September + {% when 10 %}October + {% when 11 %}November + {% when 12 %}December + {% endcase %} + {% endcapture %} + + {% for event in currentMonthEvents %} + {% capture year %}{{event.date | date: "%Y"}}{% endcapture %} + {% capture day %}{{event.date | date: "%d"}}{% endcapture %} + {% if forloop.first %} +

{{monthName}} {{year}}

+ + {% endif %} + {% endfor %} + {% endfor %} \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html index 3aa077c64..e333a548a 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,105 +1,55 @@ - -
\ No newline at end of file diff --git a/_includes/inner-page-main-content.html b/_includes/inner-page-main-content.html new file mode 100644 index 000000000..5e44894d3 --- /dev/null +++ b/_includes/inner-page-main-content.html @@ -0,0 +1,12 @@ +
+
+
+
+ {{content}} +
+
+ + + {% include sidebar-toc.html %} +
+
\ No newline at end of file diff --git a/_includes/masthead-community.html b/_includes/masthead-community.html new file mode 100644 index 000000000..76f7b0628 --- /dev/null +++ b/_includes/masthead-community.html @@ -0,0 +1,37 @@ +
+
+
+
+
+

Discourse

+ Mailing list +
    + {% for forum in site.data.chats-forums.discourseForums %} +
  • + {{forum.title}} +
    +

    {{forum.title}}

    +

    {{forum.subtitle}}

    +
    +
  • + {% endfor %} +
+
+
+

Gitter

+ Real-time (topic-specialized) chat + +
+
+
+
+
\ No newline at end of file diff --git a/_includes/masthead-documentation.html b/_includes/masthead-documentation.html new file mode 100644 index 000000000..a773e89d0 --- /dev/null +++ b/_includes/masthead-documentation.html @@ -0,0 +1,19 @@ +
+
+
+
+ {% for link in page.links %} + +
+ +
{{link.title}}
+
+
+

{{link.description}}

+
+
+ {% endfor %} +
+
+
+
\ No newline at end of file diff --git a/_includes/navbar-inner.html b/_includes/navbar-inner.html new file mode 100644 index 000000000..604af04d8 --- /dev/null +++ b/_includes/navbar-inner.html @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/_includes/navbar.html b/_includes/navbar.html deleted file mode 100644 index e39ae2f36..000000000 --- a/_includes/navbar.html +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/_includes/news-feed.html b/_includes/news-feed.html deleted file mode 100644 index f757c678c..000000000 --- a/_includes/news-feed.html +++ /dev/null @@ -1,84 +0,0 @@ -
-

What's New

- - {% assign maxCount = 1 %} - {% assign count = 0 %} - {% for p in site.posts %} - {% if p.category != "event" and count < maxCount %} - {% assign count = count | plus: 1 %} - {% assign firstTitle = p.title %} -
- {% if p.post-type %} -
{{ p.post-type }}
- {% endif %} - {% if p.link-out %} - - {% else %} - - {% endif %} - {% if p.author %} -
By
{{ p.author }}
- {% endif %} -
date icon {{ p.date | date: "%A, %B %d, %Y" }}
- {% if p.short %} -
{{ p.short }}
- {% else %} -
{{ p.content }}
- {% endif %} -
-
- {% if p.link-out %} - - {% else %} - - {% endif %} -
- {% endif %} - {% endfor %} -
-
-

Recently...

-
- - {% assign maxCount = 3 %} - {% assign count = 0 %} - {% for p in site.posts %} - {% if p.category != "event" and p.post-type and p.title != firstTitle and count < maxCount %} - {% assign count = count | plus: 1 %} - {% if forloop.first %} - {% comment %} DO NOTHING {% endcomment %} - {% else %} -
- {% if p.link-out %} - - {% else %} - - {% endif %} - {% if p.author %} -
By
{{ p.author }}
- {% endif %} -
date-icon {{ p.date | date: "%A, %B %d, %Y" }} - {% if p.post-type %} - {{ p.post-type }} - {% endif %}
- {% if p.short %} -
{{ p.short }}
- {% else %} -
{{ p.content | strip_html | truncatewords: 25 }}
- {% endif %} -
- {% endif %} - {% endif %} - {% endfor %} -
- - date-icon -
-
-
- For more, visit our
- News archive - or - Blog -
-
diff --git a/_includes/online-courses.html b/_includes/online-courses.html new file mode 100644 index 000000000..9f91d0404 --- /dev/null +++ b/_includes/online-courses.html @@ -0,0 +1,91 @@ + +
+
+

Online Courses

+
+ + {% comment %} + We're going to follow the next ordering for the online courses: + 1- First we'll show those items that belong to an specific specialization (i.e.: Scala's progfun in Coursera). Those will be ordered alphabetically by title and each item under the specialization by the `specialization-order` tag in each one. + 2- After those, courses that don't belong to any specific specialization. + We'll only show those courses that are not finished yet. + {% endcomment %} + + {% assign specializations = '' | split: ',' %} + {% assign courses = '' | split: ',' %} + {% assign upcomingCourses = '' | split: ',' %} + {% capture now %}{{site.time | date: '%s' | plus: 0}}{% endcapture %} + + {% for course in site.online_courses %} + {% unless specializations contains course.specialization %} + {% assign specializations = specializations | push: course.specialization %} + {% endunless %} + + {% capture endDate %}{{course.end-date | date: '%s' | plus: 86400}}{% endcapture %} + {% if now <= endDate %} + {% assign upcomingCourses = upcomingCourses | push: course %} + {% endif %} + {% endfor %} + + {% for specialization in specializations %} + {% assign specCourses = '' | split: ',' %} + + {% for course in upcomingCourses %} + {% if course.specialization %} + {% if course.specialization == specialization %} + {% assign specCourses = specCourses | push: course %} + {% endif %} + + {% assign sortedSpecCourses = specCourses | sort: 'specialization-order' %} + {% endif %} + {% endfor %} + {% for sortedCourse in sortedSpecCourses %} + {% assign courses = courses | push: sortedCourse %} + {% endfor %} + {% endfor %} + + {% for course in upcomingCourses %} + {% unless course.specialization %} + {% assign courses = courses | push: course %} + {% endunless %} + {% endfor %} + + +
+

Visit all the Online Courses courses

+
+
\ No newline at end of file diff --git a/_includes/paginator.html b/_includes/paginator.html new file mode 100644 index 000000000..7212e643f --- /dev/null +++ b/_includes/paginator.html @@ -0,0 +1,9 @@ +{% if paginator.total_pages > 1 %} + +{% endif %} \ No newline at end of file diff --git a/_includes/render-news-item.html b/_includes/render-news-item.html deleted file mode 100644 index d7783dbb9..000000000 --- a/_includes/render-news-item.html +++ /dev/null @@ -1,12 +0,0 @@ -{% comment %} -Input: - post: the news item to be rendered -{% endcomment %} - -

{{ post.title }} {% if post.tagline %}{{ post.tagline }}{% endif %}

- -{% if post.author %} -
By {{ post.author }}
-{% endif %} - -{{ post.content }} diff --git a/_includes/scastie.html b/_includes/scastie.html new file mode 100644 index 000000000..fb7a6ec65 --- /dev/null +++ b/_includes/scastie.html @@ -0,0 +1,23 @@ +
+
+
+

Run Scala in your browser

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo neque eget placerat dapibus. Mauris ullamcorper dui eu pellentesque venenatis. Nam non elit vitae dolor posuere eleifend a facilisis diam

+
+
+ +
+
+
+
+ +
+
+ + Run Scala code interactively +
+
+
+
\ No newline at end of file diff --git a/_includes/sidebar-toc.html b/_includes/sidebar-toc.html new file mode 100644 index 000000000..24d313633 --- /dev/null +++ b/_includes/sidebar-toc.html @@ -0,0 +1,12 @@ +{% if page.includeTOC == true %} +
+ +
+{% endif %} \ No newline at end of file diff --git a/_includes/tutorial-list.html b/_includes/tutorial-list.html new file mode 100644 index 000000000..da4ca5892 --- /dev/null +++ b/_includes/tutorial-list.html @@ -0,0 +1,7 @@ +{% comment %}Use include variable 'column' to describe which column list to draw (0 or 1){% endcomment %} +{% for tutorial in site.data.tutorials limit: 6 %} + {% assign loopindex = forloop.index | modulo: 2 %} + {% if loopindex == include.column %} +
  • {{tutorial.title | truncate: 60}}
  • + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/twitter-feed.html b/_includes/twitter-feed.html new file mode 100644 index 000000000..44629abb5 --- /dev/null +++ b/_includes/twitter-feed.html @@ -0,0 +1,15 @@ +
    +
    +
    +

    Twitter Feed

    +
    +
    +
      +
    +
    +
    +

    See more tweets, or

    + Follow Scala on twitter +
    +
    +
    \ No newline at end of file diff --git a/_includes/upcoming-training.html b/_includes/upcoming-training.html new file mode 100644 index 000000000..7b205eb79 --- /dev/null +++ b/_includes/upcoming-training.html @@ -0,0 +1,38 @@ + +
    +
    +

    Upcoming Training

    +
    +
    + {% assign upcomingTrainings = '' | split: ',' %} + {% capture now %}{{site.time | date: '%s' | plus: 0}}{% endcapture %} + {% for training in site.trainings %} + {% capture date %}{{training.when | date: '%s' | plus: 86400}}{% endcapture %} + {% if now <= date %} + {% assign upcomingTrainings = upcomingTrainings | push: training %} + {% endif %} + {% endfor %} + {% for training in upcomingTrainings %} + + + + {% capture date %}{{training.date | date: '%B' }}{% endcapture %} + {{date | truncate: 3, ""}} + + {{training.date | date: '%-d' }} + +
    +

    {{training.title}}

    +
      +
    • {{training.where | upcase}}
    • +
    • +
    • {{training.organizer}}
    • +
    +
    +
    + {% endfor %} +
    + +
    \ No newline at end of file diff --git a/_layouts/blog-detail.html b/_layouts/blog-detail.html new file mode 100644 index 000000000..8e6419da3 --- /dev/null +++ b/_layouts/blog-detail.html @@ -0,0 +1,6 @@ +--- +layout: inner-page-parent +--- + + +{% include inner-page-blog-detail-main-content.html %} \ No newline at end of file diff --git a/_layouts/blog-list.html b/_layouts/blog-list.html new file mode 100644 index 000000000..ff385e29f --- /dev/null +++ b/_layouts/blog-list.html @@ -0,0 +1,9 @@ +--- +layout: inner-page-parent-searchbar +--- + +{% if page.category %} + {% include blog-list.html category=page.category %} +{% else %} + {% include blog-list.html %} +{% endif %} \ No newline at end of file diff --git a/_layouts/blog.html b/_layouts/blog.html deleted file mode 100644 index da3e67fd7..000000000 --- a/_layouts/blog.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default ---- - -
    - - {% if page.by %} -
    Written By: {{ page.by }}
    - {% endif %} - {{ content }} - {% if page.disqus == true %}{% include disqus.txt %}{% endif %} -
    - -
    diff --git a/_layouts/books.html b/_layouts/books.html new file mode 100644 index 000000000..ee203bf85 --- /dev/null +++ b/_layouts/books.html @@ -0,0 +1,32 @@ +--- +layout: inner-page-parent +--- + +
    +
    +
    +

    {{page.introText}}

    +
    + {% for book in site.books %} +
    + +
    +

    {{book.status}}

    +

    {{site.data.common.texts.booksBy}} {{book.authors | join: ", "}}

    +

    {{site.data.common.texts.booksPublishedBy}} {{book.publisher}}

    +

    {{book.content}}

    +
    +
    + {% endfor %} +
    +
    +
    +
    + \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index e6600b4f2..000000000 --- a/_layouts/default.html +++ /dev/null @@ -1,31 +0,0 @@ -{% include headertop.html %} -{% include headerbottom.html %} - -
    - -
    -
    - -
    -
    - -
    -
    -

    {{ page.title }}

    -
    -
    - -
    -
    - {{ content }} -
    -
    - -{% include footer.html %} diff --git a/_layouts/downloadpage.html b/_layouts/downloadpage.html index e6706d02c..3b1c9fa12 100644 --- a/_layouts/downloadpage.html +++ b/_layouts/downloadpage.html @@ -1,129 +1,100 @@ --- -layout: page +layout: inner-page-parent --- -
    Choose one of three ways to get started with Scala!
    - -
    -
    1
    -
    -

    - Download Scala {{ page.release_version }} binaries for your system - (All downloads). -

    - - -

    Need help installing?

    -
    -
    - -
    ~ or ~
    - -
    -
    2
    -
    -

    - Get started with sbt -
    - sbt is a popular build tool for Scala projects.
    - With sbt, you don't need to download and install Scala.
    - Just set scalaVersion in your build definition,
    - and sbt will retrieve that version. -

    -
    -
    - -
    ~ or ~
    - -
    -
    3
    - -
    - -

    Release Notes

    -For important changes, please consult the release notes. - -

    Software Requirements

    - -{{ page.requirements }} - -{{ content }} - -{% if page.show_resources == "true" %} - -
    - -

    Other resources

    - -{% else %} - - - -

    License

    -The Scala distribution is released under the 3-clause BSD license. - - -
    - -
    +
    +
    +
    +
    +
    + {{page.release_version}} +
    + +
    +
    +

    Compared to other programming languages, installing Scala is a bit unusual. It's possible to "install" Scala in numerous ways.

    +
    +
    + +
    1
    +
    +

    First, make sure you have the Java 8 JDK installed.

    +

    java -version(Make sure you have version 1.8.)

    +
    +
    +
    +
    2
    +
    +

    Then, install Scala using:

    +
    +
    +
    +
    + or +
    + +

    Best if you prefer a full-featured IDE (recommended for beginners)

    +
    + + + Download intellij + +
      + {% include tutorial-list.html column=1 %} +
    +
    +
    +
    + +

    Best if you are familiar with the command line

    +
    + + + Download Sbt + +
      + {% include tutorial-list.html column=0 %} +
    +
    +
    +

    Scala is unusual because it is usually installed for each of your Scala projects rather than being installed system-wide. Both of the above options manage a specific Scala version per Scala project you create.

    + +

    Release Notes

    +

    For important changes, please consult the release notes.

    + +

    Software Requirements

    + + {{ page.requirements }} + + {{ content }} + + {% if page.show_resources == "true" %} + + {% include download-resource-list.html %} + + {% endif %} + +

    License

    +

    The Scala distribution is released under the 3-clause BSD license.

    +
    + +
    +
    +
    + + {% for step in site.data.downloads.stepOne %} + + {% endfor %} + + {% for intellijUrl in site.data.downloads.intellijUrls %} + + {% endfor %} + + {% for sbtUrl in site.data.downloads.sbtUrls %} + + {% endfor %} +
    \ No newline at end of file diff --git a/_layouts/events.html b/_layouts/events.html new file mode 100644 index 000000000..4959010ad --- /dev/null +++ b/_layouts/events.html @@ -0,0 +1,13 @@ +--- +layout: inner-page-parent +--- + +{% include events-training-list-top.html collection=paginator.events %} +
    + {{content}} +
    + +
    + + {% include paginator.html urlPath="events" %} + \ No newline at end of file diff --git a/_layouts/frontpage.html b/_layouts/frontpage.html index 8321702df..4e84b533b 100644 --- a/_layouts/frontpage.html +++ b/_layouts/frontpage.html @@ -4,216 +4,383 @@ {% include headertop.html %} {% include headerbottom.html %} -
    -
     
    -
    -
    -
    -