http://git-wip-us.apache.org/repos/asf/mahout/blob/5112e9ec/assets/vendor/popper/popper.min.js ---------------------------------------------------------------------- diff --git a/assets/vendor/popper/popper.min.js b/assets/vendor/popper/popper.min.js new file mode 100755 index 0000000..caf96d5 --- /dev/null +++ b/assets/vendor/popper/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2017 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=window.getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e||-1!==['HTML','BODY','#document'].indexOf(e.nodeName))return window.document.body;var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||e.firstElementChild.offsetParent===e)}function p(e){return null===e.parentNode?e:p(e.parentNode)}function s(e){var t=e&&e.offsetParent,o=t&&t.nodeName;return o&&'BODY'!==o&&'HTML'!==o?t:window.document.documentElement}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return window.document.documentElement;var o=e.compareDocu mentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var f=a.commonAncestorContainer;if(e!==f&&t!==f||i.contains(n))return r(f)?f:s(f);var l=p(e);return l.host?d(l.host,t):d(e,p(t).host)}function a(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',i=e.nodeName;if('BODY'===i||'HTML'===i){var n=window.document.documentElement,r=window.document.scrollingElement||n;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=a(t,'top'),n=a(t,'left'),r=o?-1:1;return e.top+=i*r,e.bottom+=i*r,e.left+=n*r,e.right+=n*r,e}function l(e,t){var o='x'===t?'Left':'Top',i='Left'==o?'Right':'Bottom';return+e['border'+o+'Width'].split('px')[0]+ +e['border'+i+'Width'].split('px')[0]}function m(e,t,o,i){return V(t['offset'+e],o['client'+e],o['offset'+e],ie()?o['offset'+e]+i['margin'+('Height'===e?'Top':'Left')]+i['margin'+('Height'===e?'B ottom':'Right')]:0)}function h(){var e=window.document.body,t=window.document.documentElement,o=ie()&&window.getComputedStyle(t);return{height:m('Height',e,t,o),width:m('Width',e,t,o)}}function c(e){return se({},e,{right:e.left+e.width,bottom:e.top+e.height})}function g(e){var o={};if(ie())try{o=e.getBoundingClientRect();var i=a(e,'top'),n=a(e,'left');o.top+=i,o.left+=n,o.bottom+=i,o.right+=n}catch(e){}else o=e.getBoundingClientRect();var r={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},p='HTML'===e.nodeName?h():{},s=p.width||e.clientWidth||r.right-r.left,d=p.height||e.clientHeight||r.bottom-r.top,f=e.offsetWidth-s,m=e.offsetHeight-d;if(f||m){var g=t(e);f-=l(g,'x'),m-=l(g,'y'),r.width-=f,r.height-=m}return c(r)}function u(e,o){var i=ie(),r='HTML'===o.nodeName,p=g(e),s=g(o),d=n(e),a=t(o),l=+a.borderTopWidth.split('px')[0],m=+a.borderLeftWidth.split('px')[0],h=c({top:p.top-s.top-l,left:p.left-s.left-m,width:p.width,height:p.height});if(h.marginTop=0,h.marginLeft=0, !i&&r){var u=+a.marginTop.split('px')[0],b=+a.marginLeft.split('px')[0];h.top-=l-u,h.bottom-=l-u,h.left-=m-b,h.right-=m-b,h.marginTop=u,h.marginLeft=b}return(i?o.contains(d):o===d&&'BODY'!==d.nodeName)&&(h=f(h,o)),h}function b(e){var t=window.document.documentElement,o=u(e,t),i=V(t.clientWidth,window.innerWidth||0),n=V(t.clientHeight,window.innerHeight||0),r=a(t),p=a(t,'left'),s={top:r-o.top+o.marginTop,left:p-o.left+o.marginLeft,width:i,height:n};return c(s)}function y(e){var i=e.nodeName;return'BODY'===i||'HTML'===i?!1:'fixed'===t(e,'position')||y(o(e))}function w(e,t,i,r){var p={top:0,left:0},s=d(e,t);if('viewport'===r)p=b(s);else{var a;'scrollParent'===r?(a=n(o(e)),'BODY'===a.nodeName&&(a=window.document.documentElement)):'window'===r?a=window.document.documentElement:a=r;var f=u(a,s);if('HTML'===a.nodeName&&!y(s)){var l=h(),m=l.height,c=l.width;p.top+=f.top-f.marginTop,p.bottom=m+f.top,p.left+=f.left-f.marginLeft,p.right=c+f.left}else p=f}return p.left+=i,p.top+=i,p.right-=i,p. bottom-=i,p}function v(e){var t=e.width,o=e.height;return t*o}function E(e,t,o,i,n){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=w(o,i,r,n),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return se({key:e},s[e],{area:v(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,i=e.height;return t>=o.clientWidth&&i>=o.clientHeight}),f=0<a.length?a[0].key:d[0].key,l=e.split('-')[1];return f+(l?'-'+l:'')}function x(e,t,o){var i=d(t,o);return u(o,i)}function O(e){var t=window.getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),i=parseFloat(t.marginLeft)+parseFloat(t.marginRight),n={width:e.offsetWidth+i,height:e.offsetHeight+o};return n}function L(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function S(e,t,o){o=o.split('-')[0];var i=O(e),n={width:i.width,height:i.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return n[p]=t[p]+t[d]/2-i[d]/2,n[s]=o===s?t[s]-i[a]:t[L(s)],n}function C(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function T(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var i=C(e,function(e){return e[t]===o});return e.indexOf(i)}function N(t,o,i){var n=void 0===i?t:t.slice(0,T(t,'name',i));return n.forEach(function(t){t.function&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var i=t.function||t.fn;t.enabled&&e(i)&&(o.offsets.popper=c(o.offsets.popper),o.offsets.reference=c(o.offsets.reference),o=i(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=x(this.state,this.po pper,this.reference),e.placement=E(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.offsets.popper=S(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position='absolute',e=N(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,i=e.enabled;return i&&o===t})}function B(e){for(var t=[!1,'ms','webkit','moz','o'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length-1;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof window.document.body.style[r])return r}return null}function P(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.left='',this.popper.style.position='',this.popper.style.top='',this.popper.style[B('transform')]=''),this.disableEventL isteners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function H(e,t,o,i){var r='BODY'===e.nodeName,p=r?window:e;p.addEventListener(t,o,{passive:!0}),r||H(n(p.parentNode),t,o,i),i.push(p)}function D(e,t,o,i){o.updateBound=i,window.addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return H(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function A(){this.state.eventsEnabled||(this.state=D(this.reference,this.options,this.state,this.scheduleUpdate))}function I(e,t){return window.removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function M(){this.state.eventsEnabled&&(window.cancelAnimationFrame(this.scheduleUpdate),this.state=I(this.reference,this.state))}function R(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function U(e,t){Object.key s(t).forEach(function(o){var i='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&R(t[o])&&(i='px'),e.style[o]=t[o]+i})}function Y(e,t){Object.keys(t).forEach(function(o){var i=t[o];!1===i?e.removeAttribute(o):e.setAttribute(o,t[o])})}function F(e,t,o){var i=C(e,function(e){var o=e.name;return o===t}),n=!!i&&e.some(function(e){return e.name===o&&e.enabled&&e.order<i.order});if(!n){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return n}function j(e){return'end'===e?'start':'start'===e?'end':e}function q(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=ae.indexOf(e),i=ae.slice(o+1).concat(ae.slice(0,o));return t?i.reverse():i}function K(e,t,o,i){var n=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+n[1],p=n[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=i;}var d=c(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a; return a='vh'===p?V(document.documentElement.clientHeight,window.innerHeight||0):V(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function G(e,t,o,i){var n=[0,0],r=-1!==['right','left'].indexOf(i),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(C(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,i){var n=(1===i?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return K(e,n,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,i){R(o)&&(n[t]+=o*('-'===e[i-1]?-1:1))})}),n}for(var z=Math.min,_=Math.floor,V=Math.max,X=['native code','[object MutationObserverConstructor]'],J=function(e){return X.some(function(t){return-1<(e||'').toString().indexOf(t)})},Z='undefined'!=typeof window,$=['Edge','Trident','Firefox'],Q=0,ee=0;ee<$.length;ee+=1)if(Z&&0<=navigator.userAgent.indexOf($[ee])){Q=1;break}var i,te=Z&&J(window.MutationObserver),oe=te?function(e){var t=!1,o=0,i=document.createElement('span'),n=new MutationObserver(function(){e(),t=!1});return n.observe(i,{attributes:!0}),function(){t||(t=!0,i.setAttribute('x-index',o),++o)}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},Q))}},ie=function(){return void 0==i&&(i=-1!==navigator.appVersion.indexOf('MSIE 10')),i},ne=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},re=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t }}(),pe=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},se=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var i in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},de=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],ae=de.slice(3),fe={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},le=function(){function t(o,i){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};ne(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=oe(this.update.bind(this)),this.options=se({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o.jquery?o[0]:o,this.popper=i.jquery?i[0]:i,this.options.modifiers={},Object.keys(se({},t.Defaults.modifiers,r.modifiers)).f orEach(function(e){n.options.modifiers[e]=se({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return se({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return re(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return P.call(this)}},{key:'enableEventListeners',value:function(){return A.call(this)}},{key:'disableEventListeners',value:function(){return M.call(this)}}]),t}();return le.Utils=('undefined'==typeof window?global:window).PopperUtils,le.placements=de,le.Defaults={placement:'bottom',eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e) {var t=e.placement,o=t.split('-')[0],i=t.split('-')[1];if(i){var n=e.offsets,r=n.reference,p=n.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',f={start:pe({},d,r[d]),end:pe({},d,r[d]+r[a]-p[a])};e.offsets.popper=se({},p,f[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var o,i=t.offset,n=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=n.split('-')[0];return o=R(+i)?[+i,0]:G(i,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||s(e.instance.popper);e.instance.reference===o&&(o=s(o));var i=w(e.instance.popper,e.instance.reference,t.padding,o);t.boundaries=i;var n=t.priority,r=e.offsets.popper,p={primary:function(e){var o=r[e];return r[e]<i[e]&&!t.escapeWithReference&&(o=V(r[e],i[e])),pe({},e,o)},secondary:function(e){var o='r ight'===e?'left':'top',n=r[o];return r[e]>i[e]&&!t.escapeWithReference&&(n=z(r[o],i[e]-('right'===e?r.width:r.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';r=se({},r,p[t](e))}),e.offsets.popper=r,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=_,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(i[d])&&(e.offsets.popper[d]=r(i[d])-o[a]),o[d]>r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var o=t.element;if('string'==typeof o){if(o=e.instance.popper.querySelector(o),!o)return e;}else if(!e.instance.popper.contains(o))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var i=e.placement.split('-')[0],n=e.offsets,r=n.popper,p=n.reference,s=-1!==['left','right'].indexOf(i),d=s?'height':'width',a=s?'top':'left',f=s?'left':'top',l=s?'bottom':'right',m=O(o)[d];p[l]-m<r[a]&&(e.offsets.popper[a]-=r[a]-(p[l]-m)),p[a]+m>r[l]&&(e.offsets.popper[a]+=p[a]+m-r[l]);var h=p[a]+p[d]/2-m/2,g=h-c(e.offsets.popper)[a];return g=V(z(r[d]-m,g),0),e.arrowElement=o,e.offsets.arrow={},e.offsets.arrow[a]=Math.round(g),e.offsets.arrow[f]='',e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=w(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=L(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case fe.FLIP:p=[i,n];break;case fe.CLOCKWISE:p=q(i);break;case fe.COUNTERCLOCKWISE:p=q(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-' )[0],n=L(i);var a=e.offsets.popper,f=e.offsets.reference,l=_,m='left'===i&&l(a.right)>l(f.left)||'right'===i&&l(a.left)<l(f.right)||'top'===i&&l(a.bottom)>l(f.top)||'bottom'===i&&l(a.top)<l(f.bottom),h=l(a.left)<l(o.left),c=l(a.right)>l(o.right),g=l(a.top)<l(o.top),u=l(a.bottom)>l(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,y=-1!==['top','bottom'].indexOf(i),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),w&&(r=j(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=N(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[t]-(s?n[p?'width':'height ']:0),e.placement=L(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=C(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,i=t.y,n=e.offsets.popper,r=C(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var p,d,a=void 0===r?t.gpuAcceleration:r,f=s(e.instance.popper),l=g(f),m={position:n.position},h={left:_(n.left),top:_(n.top),bottom:_(n.bottom),right:_(n.right)},c='bottom'===o?'top ':'bottom',u='right'===i?'left':'right',b=B('transform');if(d='bottom'==c?-l.height+h.bottom:h.top,p='right'==u?-l.width+h.right:h.left,a&&b)m[b]='translate3d('+p+'px, '+d+'px, 0)',m[c]=0,m[u]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==u?-1:1;m[c]=d*y,m[u]=p*w,m.willChange=c+', '+u}var v={"x-placement":e.placement};return e.attributes=se({},v,e.attributes),e.styles=se({},m,e.styles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return U(e.instance.popper,e.styles),Y(e.instance.popper,e.attributes),e.offsets.arrow&&U(e.arrowElement,e.offsets.arrow),e},onLoad:function(e,t,o,i,n){var r=x(n,t,e),p=E(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),U(t,{position:'absolute'}),o},gpuAcceleration:void 0}}},le}); +//# sourceMappingURL=popper.min.js.map
http://git-wip-us.apache.org/repos/asf/mahout/blob/5112e9ec/build_site.sh ---------------------------------------------------------------------- diff --git a/build_site.sh b/build_site.sh new file mode 100755 index 0000000..408e327 --- /dev/null +++ b/build_site.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Big thanks to Project Aria Tosca Incubating! (rawkintrevo lifted/modded their script Nov 29, 2017)) + +WORKDIR=/tmp/mahout-site +rm -rf $WORKDIR +mkdir -p $WORKDIR/docs/latest + +export RUBY_PATH=~/shared/.rvm +export GEM_HOME=${RUBY_PATH}/gems +curl -sSL https://get.rvm.io | bash -s -- --path ${RUBY_PATH} +mkdir -p ${GEM_HOME}/gems +gem install --install-dir ${GEM_HOME} bundler +export PATH=${GEM_HOME}/bin:$PATH +(cd website && bundle install --path ${GEM_HOME}) +(cd website && bundle) +(cd website && bundle exec jekyll build --destination $WORKDIR) + +# Set env for docs +MAHOUT_VERSION=0.13.0 +if [ ! -d "$WORKDIR/docs/$MAHOUT_VERSION/api" ]; then + echo "API docs for $MAHOUT_VERSION not found, downloading them" + DISTFILE=apache-mahout-distribution-$MAHOUT_VERSION.tar.gz + DISTPATH= https://dist.apache.org/repos/dist/release/mahout/$MAHOUT_VERSION/$DISTFILE + + # Copy API docs into _site + wget -qP $WORKDIR $DISTPATH + tar -C $WORKDIR -xzf $WORKDIR/$DISTFILE apache-mahout-distribution-$MAHOUT_VERSION/docs + mkdir -p $WORKDIR/docs/$MAHOUT_VERSION/api + mv $WORKDIR/apache-mahout-distribution-$MAHOUT_VERSION/docs $WORKDIR/docs/$MAHOUT_VERSION/api + rm -f $WORKDIR/$DISTFILE +fi + + +git checkout asf-site +git clean -f -d +git pull origin asf-site +# rm -rf * +#cp -a $WORKDIR/* . +cp -r $WORKDIR/* . +git add . +git commit -m "Automatic Site Publish by Buildbot" +git push origin asf-site + http://git-wip-us.apache.org/repos/asf/mahout/blob/5112e9ec/developers/buildingmahout.html ---------------------------------------------------------------------- diff --git a/developers/buildingmahout.html b/developers/buildingmahout.html index e47030a..34b1b9b 100644 --- a/developers/buildingmahout.html +++ b/developers/buildingmahout.html @@ -1,278 +1,144 @@ +<!DOCTYPE html> +<html lang=" en "> + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title> + Building Mahout + + </title> + + <meta name="description" content="Distributed Linear Algebra"> + + <link rel="stylesheet" href="/assets/css/main.css"> + + <!-- Font Awesome --> + <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> + + <!-- Google Fonts --> + <link href="https://fonts.googleapis.com/css?family=Maven+Pro:400,500" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Muli:400,400i,700,700i" rel="stylesheet"> + + <link rel="canonical" href="http://mahout.apache.org//developers/buildingmahout.html"> + <link rel="alternate" type="application/rss+xml" title="Apache Mahout" href="/%20/feed.xml"> -<!DOCTYPE html> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Apache Mahout: Scalable machine learning and data mining</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <meta name="Distribution" content="Global"> - <meta name="Robots" content="index,follow"> - <meta name="keywords" content="apache, apache hadoop, apache lucene, - business data mining, cluster analysis, - collaborative filtering, data extraction, data filtering, data framework, data integration, - data matching, data mining, data mining algorithms, data mining analysis, data mining data, - data mining introduction, data mining software, - data mining techniques, data representation, data set, datamining, - feature extraction, fuzzy k means, genetic algorithm, hadoop, - hierarchical clustering, high dimensional, introduction to data mining, kmeans, - knowledge discovery, learning approach, learning approaches, learning methods, - learning techniques, lucene, machine learning, machine translation, mahout apache, - mahout taste, map reduce hadoop, mining data, mining methods, naive bayes, - natural language processing, - supervised, text mining, time series data, unsupervised, web data mining"> - <link rel="shortcut icon" type="image/x-icon" href="https://mahout.apache.org/images/favicon.ico"> - <!--<script type="text/javascript" src="/js/prototype.js"></script>--> - <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/effects.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/search.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/slides.js"></script> - - <link href="/assets/themes/mahout-retro/css/bootstrap.min.css" rel="stylesheet" media="screen"> - <link href="/assets/themes/mahout-retro/css/bootstrap-responsive.css" rel="stylesheet"> - <link rel="stylesheet" href="/assets/themes/mahout-retro/css/global.css" type="text/css"> - - <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown --> - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({ - tex2jax: { - skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] - } - }); - MathJax.Hub.Queue(function() { - var all = MathJax.Hub.getAllJax(), i; - for(i = 0; i < all.length; i += 1) { - all[i].SourceElement().parentNode.className += ' has-jax'; - } - }); - </script> - <script type="text/javascript"> - var mathjax = document.createElement('script'); - mathjax.type = 'text/javascript'; - mathjax.async = true; - - mathjax.src = ('https:' == document.location.protocol) ? - 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' : - 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'; - - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(mathjax, s); - </script> </head> -<body id="home" data-twttr-rendered="true"> - <div id="wrap"> - <div id="header"> - <div id="logo"><a href="/"><img src="/assets/img/mahout-logo-brudman.png" alt="Logos for Mahout and Apache Software Foundation" /></a></div> - <div id="search"> - <form id="search-form" action="http://www.google.com/search" method="get" class="navbar-search pull-right"> - <input value="http://mahout.apache.org" name="sitesearch" type="hidden"> - <input class="search-query" name="q" id="query" type="text"> - <input id="submission" type="image" src="/assets/img/mahout-lupe.png" alt="Search" /> - </form> - </div> - - <div class="navbar navbar-inverse" style="position:absolute;top:133px;padding-right:0px;padding-left:0px;"> - <div class="navbar-inner" style="border: none; background: #999; border: none; border-radius: 0px;"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <!-- <a class="brand" href="#">Apache Community Development Project</a> --> - <!--<div class="nav-collapse collapse">--> -<div class="collapse navbar-collapse" id="main-navbar"> - <ul class="nav navbar-nav"> - <!-- <li><a href="/">Home</a></li> --> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">General<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/general/downloads.html">Downloads</a> - <li><a href="/general/who-we-are.html">Who we are</a> - <li><a href="/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a> - <li><a href="/general/release-notes.html">Release Notes</a> - <li><a href="/general/books-tutorials-and-talks.html">Books, Tutorials, Talks</a></li> - <li><a href="/general/powered-by-mahout.html">Powered By Mahout</a> - <li><a href="/general/professional-support.html">Professional Support</a> - <li class="divider"></li> - <li class="nav-header">Resources</li> - <li><a href="/general/reference-reading.html">Reference Reading</a> - <li><a href="/general/faq.html">FAQ</a> - <li class="divider"></li> - <li class="nav-header">Legal</li> - <li><a href="http://www.apache.org/licenses/">License</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - <li><a href="/general/privacy-policy.html">Privacy Policy</a> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developers<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/developers/developer-resources.html">Developer resources</a></li> - <li><a href="/developers/version-control.html">Version control</a></li> - <li><a href="/developers/buildingmahout.html">Build from source</a></li> - <li><a href="/developers/issue-tracker.html">Issue tracker</a></li> - <li><a href="https://builds.apache.org/job/Mahout-Quality/" target="_blank">Code quality reports</a></li> - <li class="divider"></li> - <li class="nav-header">Contributions</li> - <li><a href="/developers/how-to-contribute.html">How to contribute</a></li> - <li><a href="/developers/how-to-become-a-committer.html">How to become a committer</a></li> - <li><a href="/developers/gsoc.html">GSoC</a></li> - <li class="divider"></li> - <li class="nav-header">For committers</li> - <li><a href="/developers/how-to-update-the-website.html">How to update the website</a></li> - <li><a href="/developers/patch-check-list.html">Patch check list</a></li> - <li><a href="/developers/github.html">Handling Github PRs</a></li> - <li><a href="/developers/how-to-release.html">How to release</a></li> - <li><a href="/developers/thirdparty-dependencies.html">Third party dependencies</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/sparkbindings/home.html">Scala & Spark Bindings Overview</a></li> - <li><a href="/users/sparkbindings/faq.html">FAQ</a></li> - <li><a href="/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings Overview</a></li> - <li class="nav-header">Engines</li> - <li><a href="/users/sparkbindings/home.html">Spark</a></li> - <li><a href="/users/environment/h2o-internals.html">H2O</a></li> - <li><a href="/users/flinkbindings/flink-internals.html">Flink</a></li> - <li class="nav-header">References</li> - <li><a href="/users/environment/in-core-reference.html">In-Core Algebraic DSL Reference</a></li> - <li><a href="/users/environment/out-of-core-reference.html">Distributed Algebraic DSL Reference</a></li> - <li class="nav-header">Tutorials</li> - <li><a href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark Shell</a></li> - <li><a href="/users/environment/how-to-build-an-app.html">How to build an app</a></li> - <li><a href="/users/environment/classify-a-doc-from-the-shell.html">Building a text classifier in Mahout's Spark Shell</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Algorithms<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/basics/algorithms.html">List of algorithms</a> - <li class="nav-header">Distributed Matrix Decomposition</li> - <li><a href="/users/algorithms/d-qr.html">Cholesky QR</a></li> - <li><a href="/users/algorithms/d-ssvd.html">SSVD</a></li> - <li><a href="/users/algorithms/d-als.html">Distributed ALS</a></li> - <li><a href="/users/algorithms/d-spca.html">SPCA</a></li> - <li class="nav-header">Recommendations</li> - <li><a href="/users/algorithms/recommender-overview.html">Recommender Overview</a></li> - <li><a href="/users/algorithms/intro-cooccurrence-spark.html">Intro to cooccurrence-based<br/> recommendations with Spark</a></li> - <li class="nav-header">Classification</li> - <li><a href="/users/algorithms/spark-naive-bayes.html">Spark Naive Bayes</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/basics/algorithms.html">List of algorithms</a> - <li><a href="/users/basics/quickstart.html">Overview</a> - <li class="divider"></li> - <li class="nav-header">Working with text</li> - <li><a href="/users/basics/creating-vectors-from-text.html">Creating vectors from text</a> - <li><a href="/users/basics/collocations.html">Collocations</a> - <li class="divider"></li> - <li class="nav-header">Dimensionality reduction</li> - <li><a href="/users/dim-reduction/dimensional-reduction.html">Singular Value Decomposition</a></li> - <li><a href="/users/dim-reduction/ssvd.html">Stochastic SVD</a></li> - <li class="divider"></li> - <li class="nav-header">Topic Models</li> - <li><a href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet Allocation</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="nav-header">Classification</li> - <li><a href="/users/classification/bayesian.html">Naive Bayes</a></li> - <li><a href="/users/classification/hidden-markov-models.html">Hidden Markov Models</a></li> - <li><a href="/users/classification/logistic-regression.html">Logistic Regression (Single Machine)</a></li> - <li><a href="/users/classification/partial-implementation.html">Random Forest</a></li> - <li class="nav-header">Classification Examples</li> - <li><a href="/users/classification/breiman-example.html">Breiman example</a></li> - <li><a href="/users/classification/twenty-newsgroups.html">20 newsgroups example</a></li> - <li><a href="/users/classification/bankmarketing-example.html">SGD classifier bank marketing</a></li> - <li><a href="/users/classification/wikipedia-classifier-example.html">Wikipedia XML parser and classifier</a></li> - <li class="nav-header">Clustering</li> - <li><a href="/users/clustering/k-means-clustering.html">k-Means</a></li> - <li><a href="/users/clustering/canopy-clustering.html">Canopy</a></li> - <li><a href="/users/clustering/fuzzy-k-means.html">Fuzzy k-Means</a></li> - <li><a href="/users/clustering/streaming-k-means.html">Streaming KMeans</a></li> - <li><a href="/users/clustering/spectral-clustering.html">Spectral Clustering</a></li> - <li class="nav-header">Clustering Commandline usage</li> - <li><a href="/users/clustering/k-means-commandline.html">Options for k-Means</a></li> - <li><a href="/users/clustering/canopy-commandline.html">Options for Canopy</a></li> - <li><a href="/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy k-Means</a></li> - <li class="nav-header">Clustering Examples</li> - <li><a href="/users/clustering/clustering-of-synthetic-control-data.html">Synthetic data</a></li> - <li class="nav-header">Cluster Post processing</li> - <li><a href="/users/clustering/cluster-dumper.html">Cluster Dumper tool</a></li> - <li><a href="/users/clustering/visualizing-sample-clusters.html">Cluster visualisation</a></li> - <li class="nav-header">Recommendations</li> - <li><a href="/users/recommender/recommender-first-timer-faq.html">First Timer FAQ</a></li> - <li><a href="/users/recommender/userbased-5-minutes.html">A user-based recommender <br/>in 5 minutes</a></li> - <li><a href="/users/recommender/matrix-factorization.html">Matrix factorization-based<br/> recommenders</a></li> - <li><a href="/users/recommender/recommender-documentation.html">Overview</a></li> - <li><a href="/users/recommender/intro-itembased-hadoop.html">Intro to item-based recommendations<br/> with Hadoop</a></li> - <li><a href="/users/recommender/intro-als-hadoop.html">Intro to ALS recommendations<br/> with Hadoop</a></li> + +<body> + + <nav class="navbar navbar-expand-lg navbar-light bg-light navbar-mahout"> + + <div class="container"> + + <a class="navbar-brand" href="/"> + <img src="/assets/mahout-logo-blue.svg" alt=""> + </a> + + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + + <ul class="navbar-nav ml-auto"> + + <!-- Download --> + <li class="nav-item"> + <a class="nav-link" href="/downloads/">Download</a> + </li> + + <li class="nav-item"> + <a class="nav-link" href="/docs/0.13.1-SNAPSHOT/index.html">Overview</a> + </li> + + <!-- Developers --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Developers</a> + <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> + <a class="dropdown-item" href="/developers/developer-resources.html">Developer Resources</a> + <a class="dropdown-item" href="/developers/buildingmahout/">Building Mahout from Source</a> + <a class="dropdown-item" href="/developers/issue-tracker/">Issues Tracking (JIRA)</a> + <!-- <a class="dropdown-item" href="/developers/patch-check-list/">Patch Check List</a> going to github template --> + <!-- <a class="dropdown-item" href="/developers/reference/">References</a> a lot of overlap with books, talks, etc. page --> + <a class="dropdown-item" href="/developers/release-notes/">Release Notes</a> + <!-- <a class="dropdown-item" href="/developers/thirdparty-dependencies/">Third Party Dependencies</a> is our site the reasonable place for this? --> + <!-- <a class="dropdown-item" href="/developers/version-control/">Version Control</a> --> + <div class="dropdown-divider"></div> + <h6 class="dropdown-header">How To's</h6> + <a class="dropdown-item" href="/developers/how-to-contribute/">How to Contribute</a> + <a class="dropdown-item" href="/developers/githubPRs/">Github PRs</a> + <a class="dropdown-item" href="/developers/how-to-become-a-committer/">How to Become a Committer</a> + <a class="dropdown-item" href="/developers/how-to-release/">How to Release</a> + <a class="dropdown-item" href="/developers/how-to-update-the-website/">How to Update the Website</a> + </div> + </li> + + <!-- Docs --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Docs</a> + <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> + <h6 class="dropdown-header">Release</h6> + <a class="dropdown-item" href="/docs/0.13.0">0.13.0</a> + <div class="dropdown-divider"></div> + <h6 class="dropdown-header">Latest Snapshot (Development)</h6> + <a class="dropdown-item" href="/docs/latest">0.13.1-SNAPSHOT</a> + </div> + </li> + + <!-- Community --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Community</a> + <div class="dropdown-menu dropdown-menu-right"> + <a class="dropdown-item" href="/community/history/">History of the Apache Mahout Project</a> + <a class="dropdown-item" href="/community/blogs/">Blog Posts About Mahout</a> + <a class="dropdown-item" href="/community/recent-upcoming-talks/">Recent and Upcoming Talks</a> + <!-- <a class="dropdown-item" href="/community/books-tutorials-and-talks/">Books Tutorials and Talks</a> --> + <a class="dropdown-item" href="/community/buildingmahout/">Building Mahout</a> + <!-- <a class="dropdown-item" href="/community/faq/">FAQ</a> needs a lot of updating --> + <a class="dropdown-item" href="/community/gsoc/">GSoC</a> + <!-- Is OK- updated Map/Reduce verbage to reflect Samsara --> + <!-- <a class="dropdown-item" href="/community/mahout-benchmarks/">Mahout Benchmarks</a> These are old, Keep them? --> + <!-- <a class="dropdown-item" href="/community/mahout-wiki/">Mahout Wiki</a> at very least needs links cleanedup - do we still want this even?--> + <a class="dropdown-item" href="/community/mailing-lists/">Mailing Lists</a> + <!-- Clean and pretty --> + <!-- <a class="dropdown-item" href="/community/powered-by-mahout/">Powered By Mahout</a> needs update --> + <a class="dropdown-item" href="/community/privacy-policy/">Privacy Policy</a> + <!-- <a class="dropdown-item" href="/community/professional-support/">Professional Support</a> update if we even want to keep --> + <a class="dropdown-item" href="/community/who-we-are/">Who We Are</a> + <!-- nikolai needs to add himself --> + </div> + </li> + + <!-- GitHub --> + <li class="nav-item"> + <a class="nav-link" href="http://github.com/apache/mahout"><i class="fa fa-github"></i></a> + </li> + </ul> - </li> - <!-- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Recommendations<b class="caret"></b></a> - <ul class="dropdown-menu"> - - </ul> --> - </li> - </ul> -</div><!--/.nav-collapse --> + + <!-- <form class="form-inline my-2 my-lg-0"> + <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search"> + <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> + </form> --> + </div> - </div> + </div> -</div> +</nav> - <div id="sidebar"> - <div id="sidebar-wrap"> - <h2>Twitter</h2> - <ul class="sidemenu"> - <li> -<a class="twitter-timeline" href="https://twitter.com/ApacheMahout" data-widget-id="422861673444028416">Tweets by @ApacheMahout</a> -<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> -</li> - </ul> - <h2>Apache Software Foundation</h2> - <ul class="sidemenu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html">How the ASF works</a></li> - <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li> - <li><a href="http://www.apache.org/dev/">Developer Resources</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - </ul> - <h2>Related Projects</h2> - <ul class="sidemenu"> - <li><a href="http://lucene.apache.org/">Apache Lucene</a></li> - <li><a href="http://hadoop.apache.org/">Apache Hadoop</a></li> - <li><a href="http://bigtop.apache.org/">Apache Bigtop</a></li> - <li><a href="http://spark.apache.org/">Apache Spark</a></li> - <li><a href="http://flink.apache.org/">Apache Flink</a></li> - </ul> - </div> -</div> - <div id="content-wrap" class="clearfix"> - <div id="main"> + <div class="container mt-5 pb-4"> + + <div class="row"> - <h1 id="building-mahout-from-source">Building Mahout from Source</h1> + <div class="col-lg-8"> + <h1 id="building-mahout-from-source">Building Mahout from Source</h1> <h2 id="prerequisites">Prerequisites</h2> @@ -281,15 +147,17 @@ <li>Apache Maven 3.3.9</li> </ul> +<p><a name="getting-code"></a></p> <h2 id="getting-the-source-code">Getting the source code</h2> <p>Checkout the sources from the <a href="https://github.com/apache/mahout">Mahout GitHub repository</a> either via</p> -<pre><code>git clone [email protected]:apache/mahout.git or +<div class="highlighter-rouge"><pre class="highlight"><code>git clone [email protected]:apache/mahout.git or git clone https://github.com/apache/mahout.git </code></pre> +</div> <h2 id="building-from-source">Building From Source</h2> @@ -320,49 +188,57 @@ Choose package type: Pre-Built for Hadoop 2.4</p> <p>Install ViennaCL 1.7.0+ If running Ubuntu 16.04+</p> -<pre><code>sudo apt-get install libviennacl-dev +<div class="highlighter-rouge"><pre class="highlight"><code>sudo apt-get install libviennacl-dev </code></pre> +</div> <p>Otherwise if your distributionâs package manager does not have a viennniacl-dev package >1.7.0, clone it directly into the directory which will be included in when being compiled by Mahout:</p> -<pre><code>mkdir ~/tmp +<div class="highlighter-rouge"><pre class="highlight"><code>mkdir ~/tmp cd ~/tmp && git clone https://github.com/viennacl/viennacl-dev.git cp -r viennacl/ /usr/local/ cp -r CL/ /usr/local/ </code></pre> +</div> <p>Ensure that the OpenCL 1.2+ drivers are installed (packed with most consumer grade NVIDIA drivers). Not sure about higher end cards.</p> -<p>Clone mahout repository into <code>~/apache</code>.</p> +<p>Clone mahout repository into <code class="highlighter-rouge">~/apache</code>.</p> -<pre><code>git clone https://github.com/apache/mahout.git +<div class="highlighter-rouge"><pre class="highlight"><code>git clone https://github.com/apache/mahout.git </code></pre> +</div> <h6 id="configuration">Configuration</h6> <p>When building mahout for a spark backend, we need four System Environment variables set:</p> -<pre><code> export MAHOUT_HOME=/home/<user>/apache/mahout +<div class="highlighter-rouge"><pre class="highlight"><code> export MAHOUT_HOME=/home/<user>/apache/mahout export HADOOP_HOME=/home/<user>/apache/hadoop-2.4.1 export SPARK_HOME=/home/<user>/apache/spark-1.6.3-bin-hadoop2.4 export JAVA_HOME=/home/<user>/java/jdk-1.8.121 </code></pre> +</div> <p>Mahout on Spark regularly uses one more env variable, the IP of the Spark clusterâs master node (usually the node which one would be logged into).</p> <p>To use 4 local cores (Spark master need not be running)</p> -<pre><code>export MASTER=local[4] +<div class="highlighter-rouge"><pre class="highlight"><code>export MASTER=local[4] </code></pre> +</div> <p>To use all available local cores (again, Spark master need not be running)</p> -<pre><code>export MASTER=local[*] +<div class="highlighter-rouge"><pre class="highlight"><code>export MASTER=local[*] </code></pre> +</div> <p>To point to a cluster with spark running:</p> -<pre><code>export MASTER=spark://master.ip.address:7077 +<div class="highlighter-rouge"><pre class="highlight"><code>export MASTER=spark://master.ip.address:7077 </code></pre> +</div> <p>We then add these to the path:</p> -<pre><code> PATH=$PATH$:MAHOUT_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin +<div class="highlighter-rouge"><pre class="highlight"><code> PATH=$PATH$:MAHOUT_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin </code></pre> +</div> <p>These should be added to the your ~/.bashrc file.</p> @@ -371,35 +247,33 @@ cp -r CL/ /usr/local/ <p>From the $MAHOUT_HOME directory we may issue the commands to build each using mvn profiles.</p> <p>JVM only:</p> -<pre><code>mvn clean install -DskipTests +<div class="highlighter-rouge"><pre class="highlight"><code>mvn clean install -DskipTests </code></pre> +</div> <p>JVM with native OpenMP level 2 and level 3 matrix/vector Multiplication</p> -<pre><code>mvn clean install -Pviennacl-omp -Phadoop2 -DskipTests +<div class="highlighter-rouge"><pre class="highlight"><code>mvn clean install -Pviennacl-omp -DskipTests </code></pre> +</div> <p>JVM with native OpenMP and OpenCL for Level 2 and level 3 matrix/vector Multiplication. (GPU errors fall back to OpenMP, currently only a single GPU/node is supported).</p> -<pre><code>mvn clean install -Pviennacl -Phadoop2 -DskipTests +<div class="highlighter-rouge"><pre class="highlight"><code>mvn clean install -Pviennacl -DskipTests </code></pre> +</div> <h3 id="changing-scala-version">Changing Scala Version</h3> -<p>To change the Scala version used it is possible to use profiles, however the resulting artifacts seem to have trouble being resolved with SBT.</p> - -<pre><code class="language-bash">mvn clean install -Pscala-2.11 -</code></pre> - -<p>Maven is able to resolve the resulting artifacts effectively, this will also work if the goal is simply to use the Mahout-Shell. However if the goal is to build with SBT, the following tool should be used</p> +<p>A convenience script for updating maven dependencies is included in <code class="highlighter-rouge">buildtools</code></p> -<pre><code class="language-bash">cd $MAHOUT_HOME/buildtools +<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="nb">cd</span> <span class="nv">$MAHOUT_HOME</span>/buildtools ./change-scala-version.sh 2.11 </code></pre> +</div> -<p>Now go back to <code>$MAHOUT_HOME</code> and execute</p> +<p>Now go back to <code class="highlighter-rouge">$MAHOUT_HOME</code> and execute</p> -<pre><code class="language-bash">mvn clean install -Pscala-2.11 +<div class="language-bash highlighter-rouge"><pre class="highlight"><code>mvn clean install </code></pre> - -<p><strong>NOTE:</strong> you still need to pass the <code>-Pscala-2.11</code> profile, as this determines and propegates the minor scala version (e.g. 2.11.8)</p> +</div> <h3 id="the-distribution-profile">The Distribution Profile</h3> @@ -426,51 +300,77 @@ cp -r CL/ /usr/local/ <li>H2O Scala-2.11</li> </ul> -<p>Note: * ViennaCLs are only created if the <code>viennacl</code> or <code>viennacl-omp</code> profiles are activated.</p> +<p>Note: * ViennaCLs are only created if the <code class="highlighter-rouge">viennacl</code> or <code class="highlighter-rouge">viennacl-omp</code> profiles are activated.</p> -<p>By default, this phase will execute the <code>package</code> lifecycle goal on all built âextraâ varients.</p> +<p>By default, this phase will execute the <code class="highlighter-rouge">package</code> lifecycle goal on all built âextraâ varients.</p> <p>E.g. if you were to run</p> -<pre><code class="language-bash">mvn clean install -Pdistribution +<div class="language-bash highlighter-rouge"><pre class="highlight"><code>mvn clean install -Pdistribution </code></pre> +</div> -<p>You will <code>install</code> all of the âDefault Targetsâ but only <code>package</code> the âAlso createdâ.</p> +<p>You will <code class="highlighter-rouge">install</code> all of the âDefault Targetsâ but only <code class="highlighter-rouge">package</code> the âAlso createdâ.</p> -<p>If you wish to <code>install</code> all of the above, you can set the <code>lifecycle.target</code> switch as follows:</p> +<p>If you wish to <code class="highlighter-rouge">install</code> all of the above, you can set the <code class="highlighter-rouge">lifecycle.target</code> switch as follows:</p> -<pre><code class="language-bash">mvn clean install -Pdistribution -Dlifecycle.target=install +<div class="language-bash highlighter-rouge"><pre class="highlight"><code>mvn clean install -Pdistribution -Dlifecycle.target<span class="o">=</span>install </code></pre> +</div> - </div> - </div> -</div> - <footer class="footer" align="center"> - <div class="container"> - <p> - Copyright © 2014-2016 The Apache Software Foundation, Licensed under - the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. - <br /> - Apache Mahout, Mahout, Apache, the Apache feather logo, and the elephant rider logo are either registered trademarks or trademarks of <a href="http://www.apache.org/foundation/marks/">The Apache Software Foundation</a> in the United States and other countries. - </p> </div> - </footer> - - <script src="/assets/themes/mahout-retro/js/jquery-1.9.1.min.js"></script> - <script src="/assets/themes/mahout-retro/js/bootstrap.min.js"></script> - <script> - (function() { - var cx = '012254517474945470291:vhsfv7eokdc'; - var gcse = document.createElement('script'); - gcse.type = 'text/javascript'; - gcse.async = true; - gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + - '//www.google.com/cse/cse.js?cx=' + cx; - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(gcse, s); - })(); - </script> + + <div class="col-lg-4"> + <!-- Apache Software Foundation Links --> +<div class="card mb-4"> + <div class="card-header"> + Apache Software Foundation + </div> + <div class="card-body"> + <ul class="list-unstyled mb-0"> + <li> + <a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a> + </li> + <li> + <a href="http://www.apache.org/licenses/">Apache License</a> + </li> + <li> + <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li> + <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + </ul> + </div> +</div> + +<!-- Twitter Posts Widget --> +<div class="card"> + <div class="card-body"> + <a class="twitter-timeline" data-height="500" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a> + <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> + </div> +</div> + </div> + + </div> + +</div> + + + <footer class="footer bg-light"> + <div class="container text-center small"> + Copyright © 2014-2017 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. + </div> +</footer> + + <script src="/assets/vendor/jquery/jquery-slim.min.js"></script> + <script src="/assets/vendor/popper/popper.min.js"></script> + <script src="/assets/vendor/bootstrap/js/bootstrap.min.js"></script> + <script src="/assets/header.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> + </body> -</html> +</html> http://git-wip-us.apache.org/repos/asf/mahout/blob/5112e9ec/developers/developer-resources.html ---------------------------------------------------------------------- diff --git a/developers/developer-resources.html b/developers/developer-resources.html index 0a8d7d6..dc55b82 100644 --- a/developers/developer-resources.html +++ b/developers/developer-resources.html @@ -1,278 +1,144 @@ +<!DOCTYPE html> +<html lang=" en "> + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title> + Developer Resources + + </title> + + <meta name="description" content="Distributed Linear Algebra"> + + <link rel="stylesheet" href="/assets/css/main.css"> + + <!-- Font Awesome --> + <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> + + <!-- Google Fonts --> + <link href="https://fonts.googleapis.com/css?family=Maven+Pro:400,500" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Muli:400,400i,700,700i" rel="stylesheet"> + + <link rel="canonical" href="http://mahout.apache.org//developers/developer-resources.html"> + <link rel="alternate" type="application/rss+xml" title="Apache Mahout" href="/%20/feed.xml"> -<!DOCTYPE html> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Apache Mahout: Scalable machine learning and data mining</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <meta name="Distribution" content="Global"> - <meta name="Robots" content="index,follow"> - <meta name="keywords" content="apache, apache hadoop, apache lucene, - business data mining, cluster analysis, - collaborative filtering, data extraction, data filtering, data framework, data integration, - data matching, data mining, data mining algorithms, data mining analysis, data mining data, - data mining introduction, data mining software, - data mining techniques, data representation, data set, datamining, - feature extraction, fuzzy k means, genetic algorithm, hadoop, - hierarchical clustering, high dimensional, introduction to data mining, kmeans, - knowledge discovery, learning approach, learning approaches, learning methods, - learning techniques, lucene, machine learning, machine translation, mahout apache, - mahout taste, map reduce hadoop, mining data, mining methods, naive bayes, - natural language processing, - supervised, text mining, time series data, unsupervised, web data mining"> - <link rel="shortcut icon" type="image/x-icon" href="https://mahout.apache.org/images/favicon.ico"> - <!--<script type="text/javascript" src="/js/prototype.js"></script>--> - <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/effects.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/search.js"></script> - <script type="text/javascript" src="/assets/themes/mahout-retro/js/slides.js"></script> - - <link href="/assets/themes/mahout-retro/css/bootstrap.min.css" rel="stylesheet" media="screen"> - <link href="/assets/themes/mahout-retro/css/bootstrap-responsive.css" rel="stylesheet"> - <link rel="stylesheet" href="/assets/themes/mahout-retro/css/global.css" type="text/css"> - - <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown --> - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({ - tex2jax: { - skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] - } - }); - MathJax.Hub.Queue(function() { - var all = MathJax.Hub.getAllJax(), i; - for(i = 0; i < all.length; i += 1) { - all[i].SourceElement().parentNode.className += ' has-jax'; - } - }); - </script> - <script type="text/javascript"> - var mathjax = document.createElement('script'); - mathjax.type = 'text/javascript'; - mathjax.async = true; - - mathjax.src = ('https:' == document.location.protocol) ? - 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' : - 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'; - - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(mathjax, s); - </script> </head> -<body id="home" data-twttr-rendered="true"> - <div id="wrap"> - <div id="header"> - <div id="logo"><a href="/"><img src="/assets/img/mahout-logo-brudman.png" alt="Logos for Mahout and Apache Software Foundation" /></a></div> - <div id="search"> - <form id="search-form" action="http://www.google.com/search" method="get" class="navbar-search pull-right"> - <input value="http://mahout.apache.org" name="sitesearch" type="hidden"> - <input class="search-query" name="q" id="query" type="text"> - <input id="submission" type="image" src="/assets/img/mahout-lupe.png" alt="Search" /> - </form> - </div> - - <div class="navbar navbar-inverse" style="position:absolute;top:133px;padding-right:0px;padding-left:0px;"> - <div class="navbar-inner" style="border: none; background: #999; border: none; border-radius: 0px;"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <!-- <a class="brand" href="#">Apache Community Development Project</a> --> - <!--<div class="nav-collapse collapse">--> -<div class="collapse navbar-collapse" id="main-navbar"> - <ul class="nav navbar-nav"> - <!-- <li><a href="/">Home</a></li> --> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">General<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/general/downloads.html">Downloads</a> - <li><a href="/general/who-we-are.html">Who we are</a> - <li><a href="/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a> - <li><a href="/general/release-notes.html">Release Notes</a> - <li><a href="/general/books-tutorials-and-talks.html">Books, Tutorials, Talks</a></li> - <li><a href="/general/powered-by-mahout.html">Powered By Mahout</a> - <li><a href="/general/professional-support.html">Professional Support</a> - <li class="divider"></li> - <li class="nav-header">Resources</li> - <li><a href="/general/reference-reading.html">Reference Reading</a> - <li><a href="/general/faq.html">FAQ</a> - <li class="divider"></li> - <li class="nav-header">Legal</li> - <li><a href="http://www.apache.org/licenses/">License</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - <li><a href="/general/privacy-policy.html">Privacy Policy</a> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developers<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/developers/developer-resources.html">Developer resources</a></li> - <li><a href="/developers/version-control.html">Version control</a></li> - <li><a href="/developers/buildingmahout.html">Build from source</a></li> - <li><a href="/developers/issue-tracker.html">Issue tracker</a></li> - <li><a href="https://builds.apache.org/job/Mahout-Quality/" target="_blank">Code quality reports</a></li> - <li class="divider"></li> - <li class="nav-header">Contributions</li> - <li><a href="/developers/how-to-contribute.html">How to contribute</a></li> - <li><a href="/developers/how-to-become-a-committer.html">How to become a committer</a></li> - <li><a href="/developers/gsoc.html">GSoC</a></li> - <li class="divider"></li> - <li class="nav-header">For committers</li> - <li><a href="/developers/how-to-update-the-website.html">How to update the website</a></li> - <li><a href="/developers/patch-check-list.html">Patch check list</a></li> - <li><a href="/developers/github.html">Handling Github PRs</a></li> - <li><a href="/developers/how-to-release.html">How to release</a></li> - <li><a href="/developers/thirdparty-dependencies.html">Third party dependencies</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/sparkbindings/home.html">Scala & Spark Bindings Overview</a></li> - <li><a href="/users/sparkbindings/faq.html">FAQ</a></li> - <li><a href="/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings Overview</a></li> - <li class="nav-header">Engines</li> - <li><a href="/users/sparkbindings/home.html">Spark</a></li> - <li><a href="/users/environment/h2o-internals.html">H2O</a></li> - <li><a href="/users/flinkbindings/flink-internals.html">Flink</a></li> - <li class="nav-header">References</li> - <li><a href="/users/environment/in-core-reference.html">In-Core Algebraic DSL Reference</a></li> - <li><a href="/users/environment/out-of-core-reference.html">Distributed Algebraic DSL Reference</a></li> - <li class="nav-header">Tutorials</li> - <li><a href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark Shell</a></li> - <li><a href="/users/environment/how-to-build-an-app.html">How to build an app</a></li> - <li><a href="/users/environment/classify-a-doc-from-the-shell.html">Building a text classifier in Mahout's Spark Shell</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Algorithms<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/basics/algorithms.html">List of algorithms</a> - <li class="nav-header">Distributed Matrix Decomposition</li> - <li><a href="/users/algorithms/d-qr.html">Cholesky QR</a></li> - <li><a href="/users/algorithms/d-ssvd.html">SSVD</a></li> - <li><a href="/users/algorithms/d-als.html">Distributed ALS</a></li> - <li><a href="/users/algorithms/d-spca.html">SPCA</a></li> - <li class="nav-header">Recommendations</li> - <li><a href="/users/algorithms/recommender-overview.html">Recommender Overview</a></li> - <li><a href="/users/algorithms/intro-cooccurrence-spark.html">Intro to cooccurrence-based<br/> recommendations with Spark</a></li> - <li class="nav-header">Classification</li> - <li><a href="/users/algorithms/spark-naive-bayes.html">Spark Naive Bayes</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/users/basics/algorithms.html">List of algorithms</a> - <li><a href="/users/basics/quickstart.html">Overview</a> - <li class="divider"></li> - <li class="nav-header">Working with text</li> - <li><a href="/users/basics/creating-vectors-from-text.html">Creating vectors from text</a> - <li><a href="/users/basics/collocations.html">Collocations</a> - <li class="divider"></li> - <li class="nav-header">Dimensionality reduction</li> - <li><a href="/users/dim-reduction/dimensional-reduction.html">Singular Value Decomposition</a></li> - <li><a href="/users/dim-reduction/ssvd.html">Stochastic SVD</a></li> - <li class="divider"></li> - <li class="nav-header">Topic Models</li> - <li><a href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet Allocation</a></li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="nav-header">Classification</li> - <li><a href="/users/classification/bayesian.html">Naive Bayes</a></li> - <li><a href="/users/classification/hidden-markov-models.html">Hidden Markov Models</a></li> - <li><a href="/users/classification/logistic-regression.html">Logistic Regression (Single Machine)</a></li> - <li><a href="/users/classification/partial-implementation.html">Random Forest</a></li> - <li class="nav-header">Classification Examples</li> - <li><a href="/users/classification/breiman-example.html">Breiman example</a></li> - <li><a href="/users/classification/twenty-newsgroups.html">20 newsgroups example</a></li> - <li><a href="/users/classification/bankmarketing-example.html">SGD classifier bank marketing</a></li> - <li><a href="/users/classification/wikipedia-classifier-example.html">Wikipedia XML parser and classifier</a></li> - <li class="nav-header">Clustering</li> - <li><a href="/users/clustering/k-means-clustering.html">k-Means</a></li> - <li><a href="/users/clustering/canopy-clustering.html">Canopy</a></li> - <li><a href="/users/clustering/fuzzy-k-means.html">Fuzzy k-Means</a></li> - <li><a href="/users/clustering/streaming-k-means.html">Streaming KMeans</a></li> - <li><a href="/users/clustering/spectral-clustering.html">Spectral Clustering</a></li> - <li class="nav-header">Clustering Commandline usage</li> - <li><a href="/users/clustering/k-means-commandline.html">Options for k-Means</a></li> - <li><a href="/users/clustering/canopy-commandline.html">Options for Canopy</a></li> - <li><a href="/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy k-Means</a></li> - <li class="nav-header">Clustering Examples</li> - <li><a href="/users/clustering/clustering-of-synthetic-control-data.html">Synthetic data</a></li> - <li class="nav-header">Cluster Post processing</li> - <li><a href="/users/clustering/cluster-dumper.html">Cluster Dumper tool</a></li> - <li><a href="/users/clustering/visualizing-sample-clusters.html">Cluster visualisation</a></li> - <li class="nav-header">Recommendations</li> - <li><a href="/users/recommender/recommender-first-timer-faq.html">First Timer FAQ</a></li> - <li><a href="/users/recommender/userbased-5-minutes.html">A user-based recommender <br/>in 5 minutes</a></li> - <li><a href="/users/recommender/matrix-factorization.html">Matrix factorization-based<br/> recommenders</a></li> - <li><a href="/users/recommender/recommender-documentation.html">Overview</a></li> - <li><a href="/users/recommender/intro-itembased-hadoop.html">Intro to item-based recommendations<br/> with Hadoop</a></li> - <li><a href="/users/recommender/intro-als-hadoop.html">Intro to ALS recommendations<br/> with Hadoop</a></li> + +<body> + + <nav class="navbar navbar-expand-lg navbar-light bg-light navbar-mahout"> + + <div class="container"> + + <a class="navbar-brand" href="/"> + <img src="/assets/mahout-logo-blue.svg" alt=""> + </a> + + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + + <ul class="navbar-nav ml-auto"> + + <!-- Download --> + <li class="nav-item"> + <a class="nav-link" href="/downloads/">Download</a> + </li> + + <li class="nav-item"> + <a class="nav-link" href="/docs/0.13.1-SNAPSHOT/index.html">Overview</a> + </li> + + <!-- Developers --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Developers</a> + <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> + <a class="dropdown-item" href="/developers/developer-resources.html">Developer Resources</a> + <a class="dropdown-item" href="/developers/buildingmahout/">Building Mahout from Source</a> + <a class="dropdown-item" href="/developers/issue-tracker/">Issues Tracking (JIRA)</a> + <!-- <a class="dropdown-item" href="/developers/patch-check-list/">Patch Check List</a> going to github template --> + <!-- <a class="dropdown-item" href="/developers/reference/">References</a> a lot of overlap with books, talks, etc. page --> + <a class="dropdown-item" href="/developers/release-notes/">Release Notes</a> + <!-- <a class="dropdown-item" href="/developers/thirdparty-dependencies/">Third Party Dependencies</a> is our site the reasonable place for this? --> + <!-- <a class="dropdown-item" href="/developers/version-control/">Version Control</a> --> + <div class="dropdown-divider"></div> + <h6 class="dropdown-header">How To's</h6> + <a class="dropdown-item" href="/developers/how-to-contribute/">How to Contribute</a> + <a class="dropdown-item" href="/developers/githubPRs/">Github PRs</a> + <a class="dropdown-item" href="/developers/how-to-become-a-committer/">How to Become a Committer</a> + <a class="dropdown-item" href="/developers/how-to-release/">How to Release</a> + <a class="dropdown-item" href="/developers/how-to-update-the-website/">How to Update the Website</a> + </div> + </li> + + <!-- Docs --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Docs</a> + <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> + <h6 class="dropdown-header">Release</h6> + <a class="dropdown-item" href="/docs/0.13.0">0.13.0</a> + <div class="dropdown-divider"></div> + <h6 class="dropdown-header">Latest Snapshot (Development)</h6> + <a class="dropdown-item" href="/docs/latest">0.13.1-SNAPSHOT</a> + </div> + </li> + + <!-- Community --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Community</a> + <div class="dropdown-menu dropdown-menu-right"> + <a class="dropdown-item" href="/community/history/">History of the Apache Mahout Project</a> + <a class="dropdown-item" href="/community/blogs/">Blog Posts About Mahout</a> + <a class="dropdown-item" href="/community/recent-upcoming-talks/">Recent and Upcoming Talks</a> + <!-- <a class="dropdown-item" href="/community/books-tutorials-and-talks/">Books Tutorials and Talks</a> --> + <a class="dropdown-item" href="/community/buildingmahout/">Building Mahout</a> + <!-- <a class="dropdown-item" href="/community/faq/">FAQ</a> needs a lot of updating --> + <a class="dropdown-item" href="/community/gsoc/">GSoC</a> + <!-- Is OK- updated Map/Reduce verbage to reflect Samsara --> + <!-- <a class="dropdown-item" href="/community/mahout-benchmarks/">Mahout Benchmarks</a> These are old, Keep them? --> + <!-- <a class="dropdown-item" href="/community/mahout-wiki/">Mahout Wiki</a> at very least needs links cleanedup - do we still want this even?--> + <a class="dropdown-item" href="/community/mailing-lists/">Mailing Lists</a> + <!-- Clean and pretty --> + <!-- <a class="dropdown-item" href="/community/powered-by-mahout/">Powered By Mahout</a> needs update --> + <a class="dropdown-item" href="/community/privacy-policy/">Privacy Policy</a> + <!-- <a class="dropdown-item" href="/community/professional-support/">Professional Support</a> update if we even want to keep --> + <a class="dropdown-item" href="/community/who-we-are/">Who We Are</a> + <!-- nikolai needs to add himself --> + </div> + </li> + + <!-- GitHub --> + <li class="nav-item"> + <a class="nav-link" href="http://github.com/apache/mahout"><i class="fa fa-github"></i></a> + </li> + </ul> - </li> - <!-- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Recommendations<b class="caret"></b></a> - <ul class="dropdown-menu"> - - </ul> --> - </li> - </ul> -</div><!--/.nav-collapse --> + + <!-- <form class="form-inline my-2 my-lg-0"> + <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search"> + <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> + </form> --> + </div> - </div> + </div> -</div> +</nav> - <div id="sidebar"> - <div id="sidebar-wrap"> - <h2>Twitter</h2> - <ul class="sidemenu"> - <li> -<a class="twitter-timeline" href="https://twitter.com/ApacheMahout" data-widget-id="422861673444028416">Tweets by @ApacheMahout</a> -<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> -</li> - </ul> - <h2>Apache Software Foundation</h2> - <ul class="sidemenu"> - <li><a href="http://www.apache.org/foundation/how-it-works.html">How the ASF works</a></li> - <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li> - <li><a href="http://www.apache.org/dev/">Developer Resources</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - </ul> - <h2>Related Projects</h2> - <ul class="sidemenu"> - <li><a href="http://lucene.apache.org/">Apache Lucene</a></li> - <li><a href="http://hadoop.apache.org/">Apache Hadoop</a></li> - <li><a href="http://bigtop.apache.org/">Apache Bigtop</a></li> - <li><a href="http://spark.apache.org/">Apache Spark</a></li> - <li><a href="http://flink.apache.org/">Apache Flink</a></li> - </ul> - </div> -</div> - <div id="content-wrap" class="clearfix"> - <div id="main"> + <div class="container mt-5 pb-4"> - <p><a name="DeveloperResources-MakingaContribution"></a></p> + <div class="row"> + + <div class="col-lg-8"> + <p><a name="DeveloperResources-MakingaContribution"></a></p> <h2 id="making-a-contribution">Making a Contribution</h2> <p>Mahout is always looking for contributions, especially in the areas of @@ -317,34 +183,58 @@ documentation. See our <a href="/developers/how-to-contribute.html">How to contr <p><a href="https://svn.apache.org/repos/asf/mahout/pmc/board-reports/">https://svn.apache.org/repos/asf/mahout/pmc/board-reports/</a></p> - </div> - </div> -</div> - <footer class="footer" align="center"> - <div class="container"> - <p> - Copyright © 2014-2016 The Apache Software Foundation, Licensed under - the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. - <br /> - Apache Mahout, Mahout, Apache, the Apache feather logo, and the elephant rider logo are either registered trademarks or trademarks of <a href="http://www.apache.org/foundation/marks/">The Apache Software Foundation</a> in the United States and other countries. - </p> </div> - </footer> - - <script src="/assets/themes/mahout-retro/js/jquery-1.9.1.min.js"></script> - <script src="/assets/themes/mahout-retro/js/bootstrap.min.js"></script> - <script> - (function() { - var cx = '012254517474945470291:vhsfv7eokdc'; - var gcse = document.createElement('script'); - gcse.type = 'text/javascript'; - gcse.async = true; - gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + - '//www.google.com/cse/cse.js?cx=' + cx; - var s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(gcse, s); - })(); - </script> + + <div class="col-lg-4"> + <!-- Apache Software Foundation Links --> +<div class="card mb-4"> + <div class="card-header"> + Apache Software Foundation + </div> + <div class="card-body"> + <ul class="list-unstyled mb-0"> + <li> + <a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a> + </li> + <li> + <a href="http://www.apache.org/licenses/">Apache License</a> + </li> + <li> + <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li> + <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + </ul> + </div> +</div> + +<!-- Twitter Posts Widget --> +<div class="card"> + <div class="card-body"> + <a class="twitter-timeline" data-height="500" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a> + <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> + </div> +</div> + </div> + + </div> + +</div> + + + <footer class="footer bg-light"> + <div class="container text-center small"> + Copyright © 2014-2017 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. + </div> +</footer> + + <script src="/assets/vendor/jquery/jquery-slim.min.js"></script> + <script src="/assets/vendor/popper/popper.min.js"></script> + <script src="/assets/vendor/bootstrap/js/bootstrap.min.js"></script> + <script src="/assets/header.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> + </body> -</html> +</html>
