http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/patch-check-list.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/patch-check-list.mdtext b/website/_pages/patch-check-list.mdtext new file mode 100644 index 0000000..b9a556c --- /dev/null +++ b/website/_pages/patch-check-list.mdtext @@ -0,0 +1,24 @@ +Title: Patch Check List + +# Patch Check List + +So, you want to merge a contribution- or you want to know in more detail what committers look for in your contribution? +Here are tips, traps, etc. for dealing with +PRs: + + - Did the author write unit tests? Are the unit tests worthwhile? + - Are the licenses correct on newly added files? Has an ASF license been +granted? + - Make sure you update JIRA by assigning the issue to you so that others +know you are working on it. + - How is the documentation, especially the javadocs? + - Before committing, make sure you add any new documents to your local Git repo. + - Run all unit tests, verify that all tests pass. + - Lastly, update the [CHANGELOG](https://github.com/apache/mahout/blob/master/CHANGELOG) file. Give proper credit to the authors. + +After the above steps are verified and completed, and the contribution is ready to merge, follow the steps in the "Merging a PR" section in: [Handling Github PRs](http://mahout.apache.org/developers/github.html). + + - Remember to update the issue status in JIRA when you have completed it. + + + \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/powered-by-mahout.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/powered-by-mahout.mdtext b/website/_pages/powered-by-mahout.mdtext new file mode 100644 index 0000000..a2f686e --- /dev/null +++ b/website/_pages/powered-by-mahout.mdtext @@ -0,0 +1,124 @@ +Title: Powered By Mahout + +# Powered by Mahout + +Are you using Mahout to do Machine Learning? <a href="https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">Care to share</a>? Developers of the project always are happy to learn about new happy users with interesting use cases. + +*Links here do NOT imply +endorsement by Mahout, its committers or the Apache Software Foundation and +are for informational purposes only.* + +<a name="PoweredByMahout-CommercialUse"></a> +## Commercial Use + +* <a href="http://nosql.mypopescu.com/post/2082712431/hbase-and-hadoop-at-adobe">Adobe AMP</a> uses Mahout's clustering algorithms to increase video +consumption by better user targeting. +* Accenture uses Mahout as typical example for their [Hadoop Deployment Comparison Study](http://www.accenture.com/SiteCollectionDocuments/PDF/Accenture-Hadoop-Deployment-Comparison-Study.pdf) +* [AOL](http://www.aol.com) + use Mahout for shopping recommendations. See [slide deck](http://www.slideshare.net/kryton/the-data-layer) +* [Booz Allen Hamilton](http://www.boozallen.com/) + uses Mahout's clustering algorithms. See [slide deck](http://www.slideshare.net/ydn/3-biometric-hadoopsummit2010) +* [Buzzlogic](http://www.buzzlogic.com) + uses Mahout's clustering algorithms to improve ad targeting +* [Cull.tv](http://cull.tv/) + uses modified Mahout algorithms for content recommendations +*  [DataMine Lab](http://dataminelab.com) + uses Mahout's recommendation and clustering algorithms to improve our +clients' ad targeting. +* [Drupal](http://drupal.org/project/recommender) + uses Mahout to provide open source content recommendation solutions. +* [Evolv ](http://www.evolvondemand.com) + uses Mahout for its Workforce Predictive Analytics platform. +* [Foursquare](http://www.foursquare.com) + uses Mahout for its [recommendation engine](http://engineering.foursquare.com/2011/03/22/building-a-recommendation-engine-foursquare-style/). +* [Idealo](http://www.idealo.de) + uses Mahout's recommendation engine. +* [InfoGlutton](http://www.infoglutton.com) + uses Mahout's clustering and classification for various consulting +projects. +* [Intel](http://mark.chmarny.com/2013/07/thinking-big-about-data-at-intel.html) + ships Mahout as part of their Distribution for Apache Hadoop Software. +* [Intela](http://www.intela.com/) + has implementations of Mahout's recommendation algorithms to select new +offers to send tu customers, as well as to recommend potential customers to +current offers. We are also working on enhancing our offer categories by +using the clustering algorithms. +*  [iOffer](http://www.ioffer.com) + uses Mahout's Frequent Pattern Mining and Collaborative Filtering to +recommend items to users. +*  [Kauli](http://kau.li/en) +, one of Japanese Adnetwork, uses Mahout's clustering to handle clickstream +data for predicting audience's interests and intents. +* [Linked.In](http://linkedin.com) + Historically, we have used R for model training. We have recently started +experimenting with Mahout for model training and are excited about it - also see + <a href="https://www.quora.com/LinkedIn-Recommendations/How-does-LinkedIns-recommendation-system-work?srid=XoeG&share=1">Hadoop World slides</a> +. +* [LucidWorks Big Data](http://www.lucidworks.com/products/lucidworks-big-data) + uses Mahout for clustering, duplicate document detection, phrase +extraction and classification. +*  [Mendeley](http://mendeley.com) + uses Mahout to power Mendeley Suggest, a research article recommendation +service. +*  [Mippin](http://mippin.com) + uses Mahout's collaborative filtering engine to recommend news feeds +* [Mobage](http://www.slideshare.net/hamadakoichi/mobage-prmu-2011-mahout-hadoop) + uses Mahout in their analysis pipeline +*  [Myrrix](http://myrrix.com) + is a recommender system product built on Mahout. +*  [NewsCred](http://platform.newscred.com) + uses Mahout to generate clusters of news articles and to surface the +important stories of the day +* [Next Glass](http://nextglass.co/) + uses Mahout +* [Predixion Software](http://predixionsoftware.com/) + uses Mahoutâs algorithms to build predictive models on big data +* <img src="http://www.radoop.eu/wp-content/uploads/favicon.png" width=15> [Radoop](http://radoop.eu) + provides a drag-n-drop interface for big data analytics, including Mahout +clustering and classification algorithms +*  [ResearchGate](http://www.researchgate.net/), the professional network for scientists and researchers, uses Mahout's +recommendation algorithms. +* [Sematext](http://www.sematext.com/) + uses Mahout for its recommendation engine +* [SpeedDate.com](http://www.speeddate.com) + uses Mahout's collaborative filtering engine to recommend member profiles +* [Twitter](http://twitter.com) + uses Mahout's LDA implementation for user interest modeling +* [Yahoo\!](http://www.yahoo.com) + Mail uses Mahout's Frequent Pattern Set Mining. See [slides](http://www.slideshare.net/hadoopusergroup/mail-antispam) +* [365Media ](http://365media.com/) + uses *Mahout's* Classification and Collaborative Filtering algorithms in +its Real-time system named [UPTIME](http://uptime.365media.com/) + and 365Media/Social + +<a name="PoweredByMahout-AcademicUse"></a> +## Academic Use + +* [Dicode](https://www.dicode-project.eu/) + project uses Mahout's clustering and classification algorithms on top of +HBase. +* The course [Large Scale Data Analysis and Data Mining](http://www.dima.tu-berlin.de/menue/teaching/masterstudium/aim-3/) + at TU Berlin uses Mahout to teach students about the parallelization of data +mining problems with Hadoop and Map/Reduce +* Mahout is used at Carnegie Mellon University, as a comparable platform to [GraphLab](http://www.graphlab.ml.cmu.edu/) + +* The [ROBUST project](http://www.robust-project.eu/) +, co-funded by the European Commission, employs Mahout in the large scale +analysis of online community data. +* Mahout is used for research and data processing at [Nagoya Institute of Technology](http://www.nitech.ac.jp/eng/schools/grad/cse.html) +, in the context of a large-scale citizen participation platform project, +funded by the Ministry of Interior of Japan. +* Several researches within [Digital Enterprise Research Institute](http://www.deri.ie) + [NUI Galway](http://www.nuigalway.ie) + use Mahout for e.g. topic mining and modelling of large corpora. +* Mahout is used in the NoTube EU project. + +<a name="PoweredByMahout-PoweredByLogos"></a> +## Powered By Logos + +Feel free to use our **Powered By** logos on your site: + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/privacy-policy.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/privacy-policy.mdtext b/website/_pages/privacy-policy.mdtext new file mode 100644 index 0000000..a5af19d --- /dev/null +++ b/website/_pages/privacy-policy.mdtext @@ -0,0 +1,23 @@ +Title: Privacy Policy +Information about your use of this website is collected using server access +logs and a tracking cookie. The collected information consists of the +following: + +* The IP address from which you access the website; +* The type of browser and operating system you use to access our site; +* The date and time you access our site; +* The pages you visit; and +* The addresses of pages from where you followed a link to our site. + +Part of this information is gathered using a tracking cookie set by the +Google Analytics service and handled by Google as described in their +privacy policy. See your browser documentation for instructions on how to +disable the cookie if you prefer not to share this data with Google. + +We use the gathered information to help us make our site more useful to +visitors and to better understand how and when our site is used. We do not +track or collect personally identifiable information or associate gathered +data with any personally identifying information from other sources. + +By using this website, you consent to the collection of this data in the +manner and for the purpose described above. http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/professional-support.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/professional-support.mdtext b/website/_pages/professional-support.mdtext new file mode 100644 index 0000000..87b3ee3 --- /dev/null +++ b/website/_pages/professional-support.mdtext @@ -0,0 +1,34 @@ +Title: Professional Support + +<a name="ProfessionalSupport-ProfessionalsupportforMahout"></a> +# Professional support for Mahout + +Add yourself or your company if you are offering support for Mahout +users. Please keep lists in alphabetical order. An entry here +is not an endorsement by the Apache Software Foundation nor any of its +committers. + + +<a name="ProfessionalSupport-Peopleandcompaniesforhire"></a> +## People and companies for hire + +| Name | Contact details | Notes | +|------|-----------------|-------| +| Accenture | [email protected] | [Consulting services in big data analytics](http://accenture.com) | +| Boston Predictive Analytics | [email protected] | [http://tutorteddy.com/site/free_statistics_help.php](http://tutorteddy.com/site/free_statistics_help.php) | +| Frank Scholten | [email protected] | | +| GridLine | [http://www.gridline.nl/contact](http://www.gridline.nl/contact) | Specialised in search and thesauri | +| Jagdish Nomula | [email protected] | ML, Search, Algorithms, Java [http://www.kosmex.com](http://www.kosmex.com) | +| LucidWorks | [http://www.lucidworks.com](http://www.lucidworks.com) | Big data platform including Mahout as a service for clustering, classification and more | +| Sematext International | [http://sematext.com/](http://sematext.com/) | | +| Ted Dunning | [email protected] | Full commercial support | +| Winterwell | [email protected] | Business/maths concept development & algorithms [http://winterwell.com](http://winterwell.com) | + +<a name="ProfessionalSupport-Talksandpresentations"></a> +## Talks and presentations + +| Name | Contact details | Notes | +|------|-----------------|-------| +| Andrew Musselman | [email protected] | ["Building a Recommender with Apache Mahout on Amazon Elastic-MapReduce"](https://blogs.aws.amazon.com/bigdata/post/Tx1TDK3HHBD4EZL/Building-a-Recommender-with-Apache-Mahout-on-Amazon-Elastic-MapReduce-EMR) | +| Frank Scholten | [email protected] | Mahout/Taste [http://blog.jteam.nl/author/frank/](http://blog.jteam.nl/author/frank/) | +| Isabel Drost-Fromm | [email protected] | If travel and accommodation costs are covered scheduling a talk is a lot easier. | http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/reference.md ---------------------------------------------------------------------- diff --git a/website/_pages/reference.md b/website/_pages/reference.md new file mode 100644 index 0000000..a44bf15 --- /dev/null +++ b/website/_pages/reference.md @@ -0,0 +1,69 @@ +--- +layout: mahout +title: Reference Reading +permalink: /reference/ +--- +# Reference Reading + +Here we provide references to books and courses about data analysis in general, which might also be helpful in the context of Mahout. + +<a name="ReferenceReading-GeneralBackgroundMaterials"></a> +## General Background Materials + +Don't be overwhelmed by all the maths, you can do a lot in Mahout with some +basic knowledge. The books will help you understand your +data better, and ask better questions both of Mahout's APIs, and also of +the Mahout community. And unlike learning some particular software tool, +these are skills that will remain useful decades later. + + * [Gilbert Strang](http://www-math.mit.edu/~gs) +'s [Introduction to Linear Algebra](http://math.mit.edu/linearalgebra/). His [lectures](http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/) are also [available online](http://web.mit.edu/18.06/www/) + and are strongly recommended. + * [Mathematical Tools for Applied Mulitvariate Analysis](http://www.amazon.com/Mathematical-Tools-Applied-Multivariate-Analysis/dp/0121609553/ref=sr_1_1?ie=UTF8&qid=1299602805&sr=8-1) by J.Douglass +Carroll. + * [Stanford Machine Learning online courseware](http://www.stanford.edu/class/cs229/) + * [MIT Machine Learning online courseware](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/) has [lecture notes](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/lecture-notes/) online. + * As a pre-requisite to probability and statistics, you'll need [basic calculus](http://en.wikipedia.org/wiki/Calculus). A maths for scientists text might be useful here such as 'Mathematics for Engineers and Scientists', Alan Jeffrey, Chapman & Hall/CRC. ([openlibrary](http://openlibrary.org/books/OL3305993M/Mathematics_for_engineers_and_scientists)) + * One of the best writers in the probability/statistics world is Sheldon Ross. Try [A First Course in Probability (8th Edition)](http://www.pearsonhighered.com/educator/product/First-Course-in-Probability-A/9780136033134.page) and then move on to his [Introduction to Probability Models](http://www.amazon.com/Introduction-Probability-Models-Sixth-Sheldon/dp/0125984707) + +Some good introductory alternatives here are: + + * [Kahn Academy](http://www.khanacademy.org/) -- videos on stats, probability, linear algebra + * [Probability and Statistics (7th Edition)](http://www.amazon.com/Probability-Statistics-Engineering-Sciences-InfoTrac/dp/0534399339), Jay L. Devore, Chapman. + * [Probability and Statistical Inference (7th Edition)](http://www.amazon.com/Probability-Statistical-Inference-Robert-Hogg/dp/0132546086), Hogg and Tanis, Pearson. + +Once you have a grasp of the basics then there are a slew of great texts that you might consult: + + * [Statistical Inference](http://www.amazon.com/Statistical-Inference-George-Casella/dp/0534243126), Casell and Berger, Duxbury/Thomson Learning. + * [Introduction to Bayesian Statistics](http://www.amazon.com/Introduction-Bayesian-Statistics-William-Bolstad/dp/0471270202), William H. Bolstad, Wiley. + * [Understanding Computational Bayesian Statistics](http://www.amazon.com/Understanding-Computational-Bayesian-Statistics-Wiley/dp/0470046090), Bolstadt + * [Bayesian Data Analysis, Gelman et al.](http://www.stat.columbia.edu/~gelman/book/) + + +## For statistics related to machine learning, these are particularly helpful: + + * [Pattern Recognition and Machine Learning by Chris Bishop](http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm) + * [Elements of Statistical Learning](http://www-stat.stanford.edu/~tibs/ElemStatLearn/) by Trevor Hastie, Robert Tibshirani, Jerome Friedman + * [http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm](http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm) + + +## For matrix computations/decomposition/factorization etc.: + + * Peter V. O'Neil [Introduction to Linear Algebra](http://www.amazon.com/Introduction-Linear-Algebra-Theory-Applications/dp/053400606X), great book for beginners (with some knowledge in calculus). It is not comprehensive, but, it will be a good place to start and the author starts by explaining the concepts with regards to vector spaces which I found to be a more natural way of explaining. + * David S. Watkins [Fundamentals of Matrix Computations](http://www.amazon.com/Fundamentals-Matrix-Computations-Applied-Mathematics/dp/0470528338/) + * [Matrix Computations](http://www.amazon.com/Computations-Hopkins-Studies-Mathematical-Sciences/dp/0801854148/ref=sr_1_2?s=books&ie=UTF8&qid=1394307676&sr=1-2&keywords=golub+van+loan) is the classic text for numerical linear algebra. Can't go wrong with it - great for researchers. + * Nick Trefethen's [Numerical Linear Algebra](http://people.maths.ox.ac.uk/trefethen/books.html). It's a bit more approachable for practitioners. Many chapters on SVD, there are even chapters on Lanczos. + + +## Books specifically on R: + +* Learning about R is a difficult thing. The best introduction is in MASS [http://www.stats.ox.ac.uk/pub/MASS4/](http://www.stats.ox.ac.uk/pub/MASS4/) +* [R Tutor](http://www.r-tutor.com/r-introduction) +* [Manual](http://cran.r-project.org/doc/manuals/R-intro.pdf) +* [R Course](http://faculty.washington.edu/tlumley/Rcourse/) + +In addition, you should see how to plot data well: + +* [Trellis plotting](http://www.statmethods.net/advgraphs/trellis.html) +* [ggplot2](http://had.co.nz/ggplot2/) + http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/release-notes.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/release-notes.mdtext b/website/_pages/release-notes.mdtext new file mode 100644 index 0000000..be250f1 --- /dev/null +++ b/website/_pages/release-notes.mdtext @@ -0,0 +1,237 @@ +Title: Release Notes + +# Release Notes + +#### 11 April 2016 - Apache Mahout 0.12.0 released + +This release marks a major milestone for the âSamsaraâ environmentâs goal +of providing an engine neutral math platform by now supporting Apache Flink. +While still experimental, the mahout Flink bindings now offer all of the R-Like +semantics for linear algebra operations, matrix decompositions, +and algorithms of the âSamsaraâ platform for execution on a Flink back-end. + +This release gives users of Apache Flink out of the box access to the following features (and more): + +<ol> +<li>The Mahout Distributed Row Matrix (DRM) API.</li> +<li>Distributed and local Vector and Matrix algebra routines.</li> +<li>Distributed and local Stochastic Principal Component Analysis.</li> +<li>Distributed and local Stochastic Singular Value Decomposition.</li> +<li>Distributed and local Thin QR Decomposition.</li> +<li>Collaborative Filtering.</li> +<li>Naive Bayes Classification.</li> +<li>Matrix operations (only listing a few here): +<ol> +<li>Mahout-native blockified distributed Matrix map and allreduce routines.</li> +<li>Distributed data point (row) sampling.</li> +<li>Matrix/Matrix Squared Distance.</li> +<li>Element-wise log.</li> +<li>Element-wise roots.</li> +<li>Element-wise Matrix/Matrix addition, subtraction, division and multiplication.</li> +<li>Functional Matrix value assignment.</li> +<li>A familiar Scala-based R-like DSL.</li> +</ol> +</ol> + +#### 11 March 2016 - Apache Mahout 0.11.2 released + +This is a minor release over Mahout 0.11.1 meant to introduce major +performance enhancements with sparse matrix and vector computations, and +major performance optimizations to the Samsara DSL. Mahout 0.11.2 includes +all new features and bug fixes released in Mahout versions 0.11.0 and +0.11.1. + +Highlights include: + +* Spark 1.5.2 support +* Performance improvements of over 30% on Sparse Vector and Matrix + computations leveraging the âfastutilâ library - contribution from + Sebastiano Vigna. This speeds up all in-core sparse vector and matrix + computations. + + +#### 06 November 2015 - Apache Mahout 0.11.1 released + +This is a minor release over Mahout 0.11.0 meant to expand Mahoutâs +compatibility with Spark versions, to introduce some new features and to +fix some bugs. Mahout 0.11.1 includes all new features and bug fixes +released in Mahout versions 0.11.0 and earlier. + +Highlights include: + +* Spark 1.4+ support +* 4x Performance improvement in Dot Product over Dense Vectors (https://issues.apache.org/jira/browse/MAHOUT-1781) + + +#### 07 August 2015 - Apache Mahout 0.11.0 released + +Mahout 0.11.0 includes all new features and bugfixes released in Mahout versions 0.10.1 +and 0.10.2 along with support for Spark 1.3+. + +Highlights include: + +* Spark 1.3 support +* Fixes for a major memory usage bug in co-occurrence analysis used by the driver spark-itemsimilarity. This will now require far less memory in the executor. +* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops. +* All of the Mahout Samsara fixes from 0.10.2 Release + + +#### 06 August 2015 - Apache Mahout 0.10.2 released + +Highlights include: + +* In-core transpose view rewrites. Modifiable transpose views eg. (for (col <- a.t) col := 5). +* Performance and parallelization improvements for AB', A'B, A'A spark physical operators. +* Optional structural "flavor" abstraction for in-core matrices. In-core matrices can now be tagged as e.g. sparse or dense. +* %*% optimization based on matrix flavors. +* In-core ::= sparse assignment functions. +* Assign := optimization (do proper traversal based on matrix flavors, similarly to %*%). +* Adding in-place elementwise functional assignment (e.g. mxA := exp _, mxA ::= exp _). +* Distributed and in-core version of simple elementwise analogues of scala.math._. for example, for log(x) the convention is dlog(drm), mlog(mx), vlog(vec). Unfortunately we cannot overload these functions over what is done in scala.math, i.e. scala would not allow log(mx) or log(drm) and log(Double) at the same time, mainly because they are being defined in different packages. +* Distributed and in-core first and second moment routines. R analogs: mean(), colMeans(), rowMeans(), variance(), sd(). By convention, distributed versions are prepended by (d) letter: colMeanVars() colMeanStdevs() dcolMeanVars() dcolMeanStdevs(). +* Distance and squared distance matrix routines. R analog: dist(). Provide both squared and non-squared Euclidean distance matrices. By convention, distributed versions are prepended by (d) letter: dist(x), sqDist(x), dsqDist(x). Also a variation for pair-wise distance matrix of two different inputs x and y: sqDist(x,y), dsqDist(x,y). +* DRM row sampling api. +* Distributed performance bug fixes. This relates mostly to (a) matrix multiplication deficiencies, and (b) handling parallelism. +* Distributed engine neutral allreduceBlock() operator api for Spark and H2O. +* Distributed optimizer operators for elementwise functions. Rewrites recognizing e.g. 1+ drmX * dexp(drmX) as a single fused elementwise physical operator: elementwiseFunc(f1(f2(drmX)) where f1 = 1 + x and f2 = exp(x). +* More cbind, rbind flavors (e.g. 1 cbind mxX, 1 cbind drmX or the other way around) for Spark and H2O. +* Added +=: and *=: operators on vectors. +* Closeable API for broadcast tensors. +* Support for conversion of any type-keyed DRM into ordinally-keyed DRM. +* Scala logging style. +* rowSumsMap() summary for non-int-keyed DRMs. +* elementwise power operator ^ . +* R-like vector concatenation operator. +* In-core functional assignments e.g.: mxA := { (x) => x * x}. +* Straighten out behavior of Matrix.iterator() and iterateNonEmpty(). +* New mutable transposition view for in-core matrices. In-core matrix transpose view. rewrite with mostly two goals in mind: (1) enable mutability, e.g. for (col <- mxA.t) col := k (2) translate matrix structural flavor for optimizers correctly. i.e. new SparseRowMatrix.t carries on as column-major structure. +* Native support for kryo serialization of tensor types. +* Deprecation of the MultiLayerPerceptron, ConcatenateVectorsJob and all related classes. +* Deprecation of SparseColumnMatrix. + +#### 31 May 2015 - Apache Mahout 0.10.1 released + +Highlights include: + +* Major memory use improvements in cooccurrence analysis including the spark-itemsimilarity driver [MAHOUT-1707](https://issues.apache.org/jira/browse/MAHOUT-1707) +* Support for Spark version 1.2.2 or less. +* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops. +* Trim down packages size to < 200MB MAHOUT-1704 and MAHOUT-1706 +* Minor testing indicates binary compatibility with Spark 1.3 with the exception of the Mahout Shell. + +#### 11 April 2015 - Apache Mahout 0.10.0 released + +Mahout 0.10.0 was a major release, which separates out a ML environment (we call Mahout-Samsara) including an +extended version of Scala that is largely backend independent but runs fully on Spark. The Hadoop MapReduce versions of +Mahout algorithms are still maintained but no new MapReduce contributions are accepted. From this release onwards +contributions must be Mahout Samsara based or at least run on Spark. + +Highlights include: + +New Mahout Samsara Environment + +* Distributed Algebraic optimizer +* R-Like DSL Scala API +* Linear algebra operations +* Ops are extensions to Scala +* Scala REPL based interactive shell running on Spark +* Integrates with compatible libraries like MLlib +* Run on distributed Spark +* H2O in progress + +New Mahout Samsara based Algorithms + +* Stochastic Singular Value Decomposition (ssvd, dssvd) +* Stochastic Principal Component Analysis (spca, dspca) +* Distributed Cholesky QR (thinQR) +* Distributed regularized Alternating Least Squares (dals) +* Collaborative Filtering: Item and Row Similarity +* Naive Bayes Classification +* Distributed and in-core + +Changes in 0.10.0 are detailed <a href="https://github.com/apache/mahout/blob/mahout-0.10.0/CHANGELOG">here</a> + +#### 1 February 2014 - Apache Mahout 0.9 released + + <p>Highlights include:</p> + + <ul> + <li>New and improved Mahout website based on Apache CMS - <a href="https://issues.apache.org/jira/browse/MAHOUT-1245">MAHOUT-1245</a></li> + <li>Early implementation of a Multi Layer Perceptron (MLP) classifier - <a href="https://issues.apache.org/jira/browse/MAHOUT-1265">MAHOUT-1265</a>.</li> + <li>Scala DSL Bindings for Mahout Math Linear Algebra. See <a href="http://weatheringthrutechdays.blogspot.com/2013/07/scala-dsl-for-mahout-in-core-linear.html">this blogpost</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1297">MAHOUT-1297</a></li> + <li>Recommenders as a Search. See <a href="https://github.com/pferrel/solr-recommender">https://github.com/pferrel/solr-recommender</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1288">MAHOUT-1288</a></li> + <li>Support for easy functional Matrix views and derivatives - <a href="https://issues.apache.org/jira/browse/MAHOUT-1300">MAHOUT-1300</a></li> + <li>JSON output format for ClusterDumper - <a href="https://issues.apache.org/jira/browse/MAHOUT-1343">MAHOUT-1343</a></li> + <li>Enable randomised testing for all Mahout modules using Carrot RandomizedRunner - <a href="https://issues.apache.org/jira/browse/MAHOUT-1345">MAHOUT-1345</a></li> + <li>Online Algorithm for computing accurate Quantiles using 1-dimensional Clustering - <a href="https://issues.apache.org/jira/browse/MAHOUT-1361">MAHOUT-1361</a>. See this <a href="https://github.com/tdunning/t-digest/blob/master/docs/theory/t-digest-paper/histo.pdf">pdf</a> for the details. + <li>Upgrade to Lucene 4.6.1 - <a href="https://issues.apache.org/jira/browse/MAHOUT-1364">MAHOUT-1364</a></li> + </ul> + + <p>Changes in 0.9 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?view=markup&pathrev=1563661">here</a>.</p> + +#### 25 July 2013 - Apache Mahout 0.8 released + + <p>Highlights include:</p> + + <ul> + <li>Numerous performance improvements to Vector and Matrix implementations, API's and their iterators</li> + <li>Numerous performance improvements to the recommender implementations</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1088" class="external-link" rel="nofollow">MAHOUT-1088</a>: Support for biased item-based recommender</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1089" class="external-link" rel="nofollow">MAHOUT-1089</a>: SGD matrix factorization for rating prediction with user and item biases</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1106" class="external-link" rel="nofollow">MAHOUT-1106</a>: Support for SVD++</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-944" class="external-link" rel="nofollow">MAHOUT-944</a>: Support for converting one or more Lucene storage indexes to SequenceFiles as well as an upgrade of the supported Lucene version to Lucene 4.3.1.</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1154" class="external-link" rel="nofollow">MAHOUT-1154</a> and friends: New streaming k-means implementation that offers on-line (and fast) clustering</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-833" class="external-link" rel="nofollow">MAHOUT-833</a>: Make conversion to SequenceFiles Map-Reduce, 'seqdirectory' can now be run as a MapReduce job.</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1052" class="external-link" rel="nofollow">MAHOUT-1052</a>: Add an option to MinHashDriver that specifies the dimension of vector to hash (indexes or values).</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-884" class="external-link" rel="nofollow">MAHOUT-884</a>: Matrix Concat utility, presently only concatenates two matrices.</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1187" class="external-link" rel="nofollow">MAHOUT-1187</a>: Upgraded to CommonsLang3</li> + <li><a href="https://issues.apache.org/jira/browse/MAHOUT-916" class="external-link" rel="nofollow">MAHOUT-916</a>: Speedup the Mahout build by making tests run in parallel.</li> + + </ul> + + <p>Changes in 0.8 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?revision=1501110&view=markup">here</a>.</p> + +#### 16 June 2012 - Apache Mahout 0.7 released + + <p>Highlights include:</p> + + <ul> + <li>Outlier removal capability in K-Means, Fuzzy K, Canopy and Dirichlet Clustering</li> + <li>New Clustering implementation for K-Means, Fuzzy K, Canopy and Dirichlet using Cluster Classifiers</li> + <li>Collections and Math API consolidated</li> + <li>(Complementary) Naive Bayes refactored and cleaned</li> + <li>Watchmaker and Old Naive Bayes dropped.</li> + <li>Many bug fixes, refactorings, and other small improvements</li> + </ul> + + <p>Changes in 0.7 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12319261">here</a>.</p> + + + +#### 6 Feb 2012 - Apache Mahout 0.6 released + + <p>Highlights include:</p> + + <ul> + <li>Improved Decision Tree performance and added support for regression problems</li> + <li>New LDA implementation using Collapsed Variational Bayes 0th Derivative Approximation</li> + <li>Reduced runtime of LanczosSolver tests</li> + <li>K-Trusses, Top-Down and Bottom-Up clustering, Random Walk with Restarts implementation</li> + <li>Reduced runtime of dot product between vectors</li> + <li>Added MongoDB and Cassandra DataModel support</li> + <li>Increased efficiency of parallel ALS matrix factorization</li> + <li>SSVD enhancements</li> + <li>Performance improvements in RowSimilarityJob, TransposeJob</li> + <li>Added numerous clustering display examples</li> + <li>Many bug fixes, refactorings, and other small improvements</li> + </ul> + + <p>Changes in 0.6 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12316364">here</a>.</p> + +#### Past Releases + + * [Mahout 0.5](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12315255&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin) + * [Mahout 0.4](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin) + * [Mahout 0.3](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin) + * [Mahout 0.2](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12313278&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin) + * [Mahout 0.1](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312976&styleName=Html&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED%7C48e83cdefb8bca42acf8f129692f8c3a05b360cf%7Clout) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/thirdparty-dependencies.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/thirdparty-dependencies.mdtext b/website/_pages/thirdparty-dependencies.mdtext new file mode 100644 index 0000000..cfa8cb3 --- /dev/null +++ b/website/_pages/thirdparty-dependencies.mdtext @@ -0,0 +1,25 @@ +Title: Thirdparty Dependencies + +# Adding Thirdparty Dependencies in Maven + +If you have a dependency on a third party artifact that is not in Maven, +you should: + + +* Ask the project to add it if at all possible. Most open source projects +want wider adoption, so this kind of request is often well received. +* If they won't add it, we may be able to add it to our Maven repo, +assuming it can be published at the ASF at all (no GPL code, for instance). + Please ask on the mailing list first. +* Assuming it can be, then you need to sign and deploy the artifacts, as +described below: + +*mvn gpg:sign-and-deploy-file -Durl=https://repository.apache.org/service/local/staging/deploy/maven2 -DrepositoryId=apache.releases.https -DgroupId=org.apache.mahout.foobar -DartifactId=foobar -Dversion=x.y -Dpackaging=jar -Dfile=foobar-x.y.jar* + +* Once it is deployed, go into [http://repository.apache.org/](http://repository.apache.org/) by using your SVN +credentials to login in +* Select Staging +* Find your repository artifacts +* Close them (this makes them publicly available, since you are closing the +staging repo) +* Promote them. This adds them to the public Maven repo. http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/version-control.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/version-control.mdtext b/website/_pages/version-control.mdtext new file mode 100644 index 0000000..2ffe215 --- /dev/null +++ b/website/_pages/version-control.mdtext @@ -0,0 +1,33 @@ +Title: Version Control + +# Version control access + +The Mahout source is mirrored in the **[Apache Mahout GitHub](https://github.com/apache/mahout)** repository. + +<a name="VersionControl-WebAccess(read-only)"></a> +## Web Access (read-only) + +The source code can be browsed via the Web at [https://github.com/apache/mahout](https://github.com/apache/mahout). + +<a name="VersionControl-AnonymousAccess(read-only)"></a> +## Anonymous Access (read-only) + +The Git URL for anonymous users is [https://github.com/apache/mahout.git](https://github.com/apache/mahout.git). + +<a name="VersionControl-CommitterAccess(read-write)"></a> +## Committer Access (read-write) + +The Git URL for committers is [https://git-wip-us.apache.org/repos/asf/mahout.git](https://git-wip-us.apache.org/repos/asf/mahout.git). + +## Mahout Website +The Mahout website resides in the [Apache SVN repository](https://svn.apache.org/viewvc/mahout/site). + +The SVN URL for the Mahout site is: [https://svn.apache.org/repos/asf/mahout/site](https://svn.apache.org/repos/asf/mahout/site). + +The Mahout website can be edited via the [ASF CMS Editor](http://www.apache.org/dev/cms.html) or by checking out the source locally from SVN. A handy tool for publising the website locally while editing is available [here](https://gist.github.com/tuxdna/11223434). + + +<a name="VersionControl-Issues"></a> +## Issues + +All bugs, improvements, [pull requests](http://mahout.apache.org/developers/github.html), etc. should be logged in our [issue tracker](https://mahout.apache.org/developers/issue-tracker.html). \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_pages/who-we-are.mdtext ---------------------------------------------------------------------- diff --git a/website/_pages/who-we-are.mdtext b/website/_pages/who-we-are.mdtext new file mode 100644 index 0000000..a4b57bb --- /dev/null +++ b/website/_pages/who-we-are.mdtext @@ -0,0 +1,57 @@ +Title: Who We Are + +<a name="WhoWeAre-Whoweare"></a> +# Who we are + +Apache Mahout is maintained by a team of volunteer developers. + +<a name="WhoWeAre-CoreCommitters"></a> +## Core Committers + +(Please keep the list below in alphabetical order by first name.) + +Name | Mail | PMC | Comment +----|---------|------|------|---------- +Anand Avati | avati@... | No | Twitter: @anandavati +Andrew Musselman | akm@... | Yes | Twitter: @akm +Andrew Palumbo | apalumbo@... | Yes (Chair) | | +Benson Margulies | bimargulies@... | Yes | | +Dan Filimon | dfilimon@... | No | | +Dmitriy Lyubimov | dlyubimov@... | No (Emeritus) | +Drew Farris | drew@... | Yes | | +Ellen Friedman | ellenf@... | No | Twitter: @Ellen_Friedman +Frank Scholten | frankscholten@... | No | | +Gokhan Capan | gcapan@... | No | <a href="http://www.linkedin.com/in/gokhancapan">LinkedIn Profile</a> +Grant Ingersoll | gsingers@... | Yes | Twitter: @gsingers +Isabel Drost-Fromm | isabel@... | Yes | Passion for free software (development, but to some extend also the political and economic implications), interested in agile development and project management, lives in Germany. Follow me on Twitter @MaineC +Jacob Alexander Mannix | jmannix@... | Yes | | +Jeff Eastman | jeastman@... | No (Emeritus) | +Paritosh Ranjan | pranjan@... | Yes | Twitter: @paritoshranjan +Pat Ferrel | pat@... | Yes | Twitter: @occam +Robin Anil | robinanil@... | Yes | | +Sean Owen | srowen@... | No (Emeritus) | +Sebastian Schelter | ssc@... | Yes | | +Shannon Quinn | squinn@... | No | | +Stevo SlaviÄ| sslavic@... | No | Twitter: @sslavic +Suneel Marthi | smarthi@... | Yes | Twitter: @suneelmarthi +Ted Dunning | tdunning@... | Yes | +Tom Pierce | tcp@... | No | | + +<a name="WhoWeAre-EmeritusCommitters"></a> +## Emeritus Committers + +* Niranjan Balasubramanian (nbalasub@...) +* Otis Gospodnetic (otis@...) +* David Hall (dlwh@...) +* Erik Hatcher (ehatcher@...) +* Ozgur Yilmazel (oyilmazel@...) +* Dawid Weiss (dweiss@...) +* Karl Wettin (kalle@...) +* AbdelHakim Deneche (adeneche@...) + +Note that the email addresses above end with @apache.org. + +<a name="WhoWeAre-Contributors"></a> +## Contributors + +Apache Mahout contributors and their contributions to individual issues can be found at Apache <a href="http://issues.apache.org/jira/browse/MAHOUT">JIRA</a>. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_posts/2016-05-16-trevor-visualize-apache-mahout.md ---------------------------------------------------------------------- diff --git a/website/_posts/2016-05-16-trevor-visualize-apache-mahout.md b/website/_posts/2016-05-16-trevor-visualize-apache-mahout.md new file mode 100644 index 0000000..528f7fb --- /dev/null +++ b/website/_posts/2016-05-16-trevor-visualize-apache-mahout.md @@ -0,0 +1,8 @@ +--- +title: 'Deep Magic Volume 1: Visualizing Apache Mahout in R via Apache Zeppelin' +date: 2016-05-19 13:26:34 +categories: mahout zeppelin R +mh_featured_url: 'https://rawkintrevo.org/2016/05/19/visualizing-apache-mahout-in-r-via-apache-zeppelin-incubating/' +mh_featured_image: 'https://duckduckgo.com/?q=png+images&atb=v35-1a_&ia=images&iax=1&iai=http%3A%2F%2Fwww.imagespng.com%2FData%2FLogo%2Fgold_PNG11017.png' +excerpt: 'Fill me in ..' +--- http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_posts/2016-10-13-absurdly-large-ols.md ---------------------------------------------------------------------- diff --git a/website/_posts/2016-10-13-absurdly-large-ols.md b/website/_posts/2016-10-13-absurdly-large-ols.md new file mode 100644 index 0000000..ae49d66 --- /dev/null +++ b/website/_posts/2016-10-13-absurdly-large-ols.md @@ -0,0 +1,8 @@ +--- +title: 'Deep Magic Volume 2: Absurdly Large OLS using Apache Mahout' +date: 2016-05-19 13:26:34 +categories: mahout zeppelin R +mh_featured_url: 'https://rawkintrevo.org/2016/10/13/deep-magic-volume2-absurdly-large-ols-with-apache-mahout' +mh_featured_image: 'https://duckduckgo.com/?q=png+images&atb=v35-1a_&ia=images&iax=1&iai=http%3A%2F%2Fwww.imagespng.com%2FData%2FLogo%2Fgold_PNG11017.png' +excerpt: 'In this post, we explore how to build your own ordinary least squares algorithm using Apache Mahout and Samsara (Apache Mahouts R-like Domain Specific Language or DSL)' +--- http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_posts/2016-11-10-eigenfaces-with-apache-mahout.md ---------------------------------------------------------------------- diff --git a/website/_posts/2016-11-10-eigenfaces-with-apache-mahout.md b/website/_posts/2016-11-10-eigenfaces-with-apache-mahout.md new file mode 100644 index 0000000..8bc0ad5 --- /dev/null +++ b/website/_posts/2016-11-10-eigenfaces-with-apache-mahout.md @@ -0,0 +1,9 @@ +--- +layout: inner +title: 'Deep Magic Volume 3 - Eigenfaces with Apache Mahout' +date: 2016-11-10 13:26:34 +categories: mahout zeppelin R +mh_featured_url: 'https://rawkintrevo.org/2016/11/10/deep-magic-volume-3-eigenfaces/' +mh_featured_image: 'star.png' +excerpt: 'This week we are go to show off how easy it is to roll your own algorithms in Apache Mahout ...' +--- http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/_bootstrap.scss ---------------------------------------------------------------------- diff --git a/website/_sass/_bootstrap.scss b/website/_sass/_bootstrap.scss new file mode 100755 index 0000000..598b007 --- /dev/null +++ b/website/_sass/_bootstrap.scss @@ -0,0 +1,56 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "bootstrap/variables"; +@import "bootstrap/mixins"; + +// Reset and dependencies +@import "bootstrap/normalize"; +@import "bootstrap/print"; +@import "bootstrap/glyphicons"; + +// Core CSS +@import "bootstrap/scaffolding"; +@import "bootstrap/type"; +@import "bootstrap/code"; +@import "bootstrap/grid"; +@import "bootstrap/tables"; +@import "bootstrap/forms"; +@import "bootstrap/buttons"; + +// Components +@import "bootstrap/component-animations"; +@import "bootstrap/dropdowns"; +@import "bootstrap/button-groups"; +@import "bootstrap/input-groups"; +@import "bootstrap/navs"; +@import "bootstrap/navbar"; +@import "bootstrap/breadcrumbs"; +@import "bootstrap/pagination"; +@import "bootstrap/pager"; +@import "bootstrap/labels"; +@import "bootstrap/badges"; +@import "bootstrap/jumbotron"; +@import "bootstrap/thumbnails"; +@import "bootstrap/alerts"; +@import "bootstrap/progress-bars"; +@import "bootstrap/media"; +@import "bootstrap/list-group"; +@import "bootstrap/panels"; +@import "bootstrap/responsive-embed"; +@import "bootstrap/wells"; +@import "bootstrap/close"; + +// Components w/ JavaScript +@import "bootstrap/modals"; +@import "bootstrap/tooltip"; +@import "bootstrap/popovers"; +@import "bootstrap/carousel"; + +// Utility classes +@import "bootstrap/utilities"; +@import "bootstrap/responsive-utilities"; http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/_syntax-highlighting.scss ---------------------------------------------------------------------- diff --git a/website/_sass/_syntax-highlighting.scss b/website/_sass/_syntax-highlighting.scss new file mode 100644 index 0000000..96d98d0 --- /dev/null +++ b/website/_sass/_syntax-highlighting.scss @@ -0,0 +1,67 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + // @extend %vertical-rhythm; + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_alerts.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_alerts.scss b/website/_sass/bootstrap/_alerts.scss new file mode 100755 index 0000000..7d1e1fd --- /dev/null +++ b/website/_sass/bootstrap/_alerts.scss @@ -0,0 +1,73 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: $alert-padding; + margin-bottom: $line-height-computed; + border: 1px solid transparent; + border-radius: $alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing $headings-color + color: inherit; + } + + // Provide class for links that match alerts + .alert-link { + font-weight: $alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: ($alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); +} + +.alert-info { + @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); +} + +.alert-warning { + @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); +} + +.alert-danger { + @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_badges.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_badges.scss b/website/_sass/bootstrap/_badges.scss new file mode 100755 index 0000000..70002e0 --- /dev/null +++ b/website/_sass/bootstrap/_badges.scss @@ -0,0 +1,68 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: $font-size-small; + font-weight: $badge-font-weight; + color: $badge-color; + line-height: $badge-line-height; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: $badge-bg; + border-radius: $badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + + .btn-xs &, + .btn-group-xs > .btn & { + top: 0; + padding: 1px 5px; + } + + // [converter] extracted a& to a.badge + + // Account for badges in navs + .list-group-item.active > &, + .nav-pills > .active > a > & { + color: $badge-active-color; + background-color: $badge-active-bg; + } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + + .nav-pills > li > a > & { + margin-left: 3px; + } +} + +// Hover state, but only for links +a.badge { + &:hover, + &:focus { + color: $badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_breadcrumbs.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_breadcrumbs.scss b/website/_sass/bootstrap/_breadcrumbs.scss new file mode 100755 index 0000000..b61f0c7 --- /dev/null +++ b/website/_sass/bootstrap/_breadcrumbs.scss @@ -0,0 +1,28 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; + margin-bottom: $line-height-computed; + list-style: none; + background-color: $breadcrumb-bg; + border-radius: $border-radius-base; + + > li { + display: inline-block; + + + li:before { + // [converter] Workaround for https://github.com/sass/libsass/issues/1115 + $nbsp: "\00a0"; + content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: $breadcrumb-color; + } + } + + > .active { + color: $breadcrumb-active-color; + } +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_button-groups.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_button-groups.scss b/website/_sass/bootstrap/_button-groups.scss new file mode 100755 index 0000000..43d235c --- /dev/null +++ b/website/_sass/bootstrap/_button-groups.scss @@ -0,0 +1,244 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + @include clearfix; + + .btn, + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + @include border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + @include border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + @include border-right-radius(0); + } +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + @include border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { @extend .btn-xs; } +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: $caret-width-large $caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 $caret-width-large $caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + @include clearfix; + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: $btn-border-radius-base; + @include border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: $btn-border-radius-base; + @include border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + @include border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + @include border-top-radius(0); +} + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_buttons.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_buttons.scss b/website/_sass/bootstrap/_buttons.scss new file mode 100755 index 0000000..6452b70 --- /dev/null +++ b/website/_sass/bootstrap/_buttons.scss @@ -0,0 +1,168 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: $btn-font-weight; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); + @include user-select(none); + + &, + &:active, + &.active { + &:focus, + &.focus { + @include tab-focus; + } + } + + &:hover, + &:focus, + &.focus { + color: $btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: $cursor-disabled; + @include opacity(.65); + @include box-shadow(none); + } + + // [converter] extracted a& to a.btn +} + +a.btn { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `<a>` elements + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); +} +.btn-primary { + @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); +} +// Success appears as green +.btn-success { + @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); +} +// Info appears as blue-green +.btn-info { + @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); +} +// Warning appears as orange +.btn-warning { + @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: $link-color; + font-weight: normal; + border-radius: 0; + + &, + &:active, + &.active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + @include box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: $btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); +} +.btn-xs { + @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_carousel.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_carousel.scss b/website/_sass/bootstrap/_carousel.scss new file mode 100755 index 0000000..f700678 --- /dev/null +++ b/website/_sass/bootstrap/_carousel.scss @@ -0,0 +1,269 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + @include transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + @include img-responsive; + line-height: 1; + } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + @include transition-transform(0.6s ease-in-out); + @include backface-visibility(hidden); + @include perspective(1000px); + + &.next, + &.active.right { + @include translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + @include translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + @include translate3d(0, 0, 0); + left: 0; + } + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: $carousel-control-width; + @include opacity($carousel-control-opacity); + font-size: $carousel-control-font-size; + color: $carousel-control-color; + text-align: center; + text-shadow: $carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: $carousel-control-color; + text-decoration: none; + @include opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid $carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: $carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: $carousel-caption-color; + text-align: center; + text-shadow: $carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: $screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_close.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_close.scss b/website/_sass/bootstrap/_close.scss new file mode 100755 index 0000000..3b74d8a --- /dev/null +++ b/website/_sass/bootstrap/_close.scss @@ -0,0 +1,36 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: ($font-size-base * 1.5); + font-weight: $close-font-weight; + line-height: 1; + color: $close-color; + text-shadow: $close-text-shadow; + @include opacity(.2); + + &:hover, + &:focus { + color: $close-color; + text-decoration: none; + cursor: pointer; + @include opacity(.5); + } + + // [converter] extracted button& to button.close +} + +// Additional properties for button version +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_code.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_code.scss b/website/_sass/bootstrap/_code.scss new file mode 100755 index 0000000..caa5f06 --- /dev/null +++ b/website/_sass/bootstrap/_code.scss @@ -0,0 +1,69 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: $font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: $code-color; + background-color: $code-bg; + border-radius: $border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: $kbd-color; + background-color: $kbd-bg; + border-radius: $border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: (($line-height-computed - 1) / 2); + margin: 0 0 ($line-height-computed / 2); + font-size: ($font-size-base - 1); // 14px to 13px + line-height: $line-height-base; + word-break: break-all; + word-wrap: break-word; + color: $pre-color; + background-color: $pre-bg; + border: 1px solid $pre-border-color; + border-radius: $border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: $pre-scrollable-max-height; + overflow-y: scroll; +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_component-animations.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_component-animations.scss b/website/_sass/bootstrap/_component-animations.scss new file mode 100755 index 0000000..ca3b43c --- /dev/null +++ b/website/_sass/bootstrap/_component-animations.scss @@ -0,0 +1,37 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + @include transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + // [converter] extracted tr&.in to tr.collapse.in + // [converter] extracted tbody&.in to tbody.collapse.in +} + +tr.collapse.in { display: table-row; } + +tbody.collapse.in { display: table-row-group; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + @include transition-property(height, visibility); + @include transition-duration(.35s); + @include transition-timing-function(ease); +} http://git-wip-us.apache.org/repos/asf/mahout/blob/54ef150e/website/_sass/bootstrap/_dropdowns.scss ---------------------------------------------------------------------- diff --git a/website/_sass/bootstrap/_dropdowns.scss b/website/_sass/bootstrap/_dropdowns.scss new file mode 100755 index 0000000..aac8459 --- /dev/null +++ b/website/_sass/bootstrap/_dropdowns.scss @@ -0,0 +1,216 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: $caret-width-base dashed; + border-top: $caret-width-base solid \9; // IE8 + border-right: $caret-width-base solid transparent; + border-left: $caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropup, +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: $zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: $font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: $dropdown-bg; + border: 1px solid $dropdown-fallback-border; // IE8 fallback + border: 1px solid $dropdown-border; + border-radius: $border-radius-base; + @include box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + @include nav-divider($dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: $line-height-base; + color: $dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: $dropdown-link-hover-color; + background-color: $dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: $dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: $dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: $dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + @include reset-filter; + cursor: $cursor-disabled; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: $font-size-small; + line-height: $line-height-base; + color: $dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: ($zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: $caret-width-base dashed; + border-bottom: $caret-width-base solid \9; // IE8 + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: $grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + right: 0; left: auto; + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + left: 0; right: auto; + } + } +}
