Rural Innovation & Farming

Keith Hammonds's picture

Across sub-Saharan Africa and India, rural communities that rely on agriculture for food and income face increasingly complex challenges. Social entrepreneurs are attacking these challenges, pioneering solutions to overcome the systematic obstacles facing small farmers. Over five years Ashoka, with the support of the Bill and Melinda Gates Foundation, have built a network of nearly 100 social entrepreneurs whose innovations build wealth, ensure sustainable communities, and advance an Everyone a Changemaker society. Learn more about our strategy, and about the Rural Innovation & Farming Fellows here.

Undefined
<script charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script> <script> new TWTR.Widget({ version: 2, type: 'profile', rpp: 4, interval: 30000, width: 600, height: 300, theme: { shell: { background: '#e0bb7f', color: '#663716' }, tweets: { background: '#e0bb7f', color: '#000000', links: '#2f9c00' } }, features: { scrollbar: false, loop: false, live: false, behavior: 'all' } }).render().setUser('ashokafarming').start(); </script>
<div id="partnerslider"> <div class="partnerslidertitlecontainer"> <div class="slidertitle"></div> <div class="slidertitlesub"></div> </div> <div id="slider"> <div class="scroll"> <div class="scrollContainer" style="position:relative;height:300px;width:300px !important;"> <!-- FIRST PANEL --> <div id="panel-1" class="panel partnertype first odd "> <!-- all the text --> <div class="partnertype-text-wrapper"> <div class="partnertype-featured"> <!--title of the panel --> Nutrient Security </div> <div class="partnertype-title"> <p>Eradicating world hunger is not just about increasing food access-it's about ensuring access to specific nutrients that sustain life and promote health and wellness. Nutrient repleteness is critical for people and communities to reach full potential, Through research, policy change and the creation of a new, disruptive business, we're working toward a future where every being is nutrient replete. </p> </div> </div> <!-- class="partnertype-text-wrapper" --> </div> <!-- class="panel partnertype --> <!-- PANEL TWO --> <div id="panel-2" class="panel partnertype even "> <div class="partnertype-text-wrapper"> <div class="partnertype-featured"> Entrepreneurial Talent </div> <div class="partnertype-title"> <p>Rural communities throughout Africa and India suffer from a continued lack of talent creation. Schools produce graduates with irrelevant skills, and young people leave for the urban marketplace, leaving rural areas economically depressed and talent deficient. We identify and support strategies catalyzed by emerging media and information technologies that help citizens continually adapt to exploit rapidly emerging opportunities and achieve prosperity. </p> </div> </div> <!-- class="partnertype-text-wrapper" --> </div> <!-- class="panel partnertype --> <!-- PANEL THREE --> <div id="panel-3" class="panel partnertype odd "> <div class="partnertype-text-wrapper"> <div class="partnertype-featured"> Monetizing Ecosystem Services </div> <div class="partnertype-title"> <p>Natural resources are available throughout the developing world, yet much of their economic potential remains untapped. Rural communities can increase agricultural productivity, develop entirely new lines of income, and enhance livelihoods by tapping into the power of these natural ecosystems. Though the practice of ecosystem services is well established in the field of environment conservation, insight from the work of social entrepreneurs reveals the very powerful notion of intersecting it in new fields that focus on improving the lives of rural inhabitants.</p> </div> </div> </div> <!-- PANEL FOUR --> <div id="panel-4" class="panel partnertype even"> <div class="partnertype-text-wrapper"> <div class="partnertype-featured"> Aggregation </div> <div class="partnertype-title"> <p>When it comes to selling their wares, small farmers usually find themselves in a position of weakness, as they lack the scale and knowledge to effectively and profitably market their products. There is a need to aggregate not only people, but information, knowledge and products in order to better equip farmers for the evolving market. This will involve not merely the marriage of ideas, but the creation of initiatives that will allow for a more vibrant, equitable and sustainable agricultural value chain.</p> </div> </div> </div> </div> <!-- class="scrollContainer" --> </div> <!-- class="scroll" --> <!-- bottom buttons --> <div class="navwrap"> <!--<img class="scrollButtons left" style="height:35px; float:none;" src="http://develop.changemakers.com/sites/develop.changemakers.com/files/leftarrowlight.png" />--> <ul class="navigation"> <li> <a href="#panel-1"> <div class="vertslidearrbox"><div class="vertslidearrow"><img src="http://cdn.changemakers.com/sites/default/files/vertslider_arrow.png"/></div></div> <div class="navtext">Nutrient Security</div> </a> </li> <li> <a href="#panel-2"> <div class="vertslidearrbox"><div class="vertslidearrow"><img src="http://cdn.changemakers.com/sites/default/files/vertslider_arrow.png"/></div></div> <div class="navtext">Entrepreneurial Talent</div> </a> </li> <li> <a href="#panel-3"> <div class="vertslidearrbox"><div class="vertslidearrow"><img src="http://cdn.changemakers.com/sites/default/files/vertslider_arrow.png"/></div></div> <div class="navtext">Monetizing Ecosystem Services</div> </a> </li> <li> <a href="#panel-4"> <div class="vertslidearrbox"><div class="vertslidearrow"><img src="http://cdn.changemakers.com/sites/default/files/vertslider_arrow.png"/></div></div> <div class="navtext">Aggregation</div> </a> </li> <li> </ul> <!--<img class="scrollButtons right" style="height:35px; float:none;" src="http://develop.changemakers.com/sites/develop.changemakers.com/files/rightarrowlight.png" />--> </div> </div> <!-- slider --> </div> <!-- partnerslider --> <style> /*formatting for the slider*/ #partnerslider .partnerslidertitlecontainer {display: none !important;} #partnerslider {margin-top:0px; border: solid #d7d7d7; border-width:0px 0 1px 0; padding-top:15px;} #partnerslider .partnertype{width:590px;height:300px;} /* this sets the width of what is scrolling */ #partnerslider .partnertype-image{float:left; margin:8px 10px 0 0px;height:100px;} #partnerslider .partnertype-text-wrapper{height:125px;position:relative; margin-top:10px;} #partnerslider .partnertype-title{margin-top:5px;font-size:12px;} #partnerslider .partnertype-teaser{padding:10px 0 0 0;font-size:14px;} #slider {width:940px; height:290px;} .scroll{height:260px;width:630px;overflow:auto;overflow:hidden;position:relative;clear:left;float:left;border:#d7d7d7 solid; border-width: 0px 2px 0px 0px;} /* width of the left side */ .scroll-container{position:relative;height:300px;width:300px;} .navigation{width:auto;list-style:none;padding:0;font-size:14px;clear:both;} ul.navigation{width:300px; margin:0 !important;} /* right side */ #slider ul.navigation li{margin-right:10px; height:50px;} #slider .scrollButtons.right{} .vertslidearrow{display:none;} #slider .navigation a.selected .vertslidearrbox .vertslidearrow{display:block;} #slider .navigation a.selected {color:#ff6633;} #slider a:hover,#slider a:focus,#slider a:active{text-decoration:none;} #slider .right,#slider .left{cursor:pointer;} #slider .left{padding-left:0px;} #slider .partnertype-featured{margin:5px 0px;font-size:16px;font-weight:bold;} /*top text*/ .navwrap{float:left;} .navwrap img{margin:0 5px; float:left;} .navtext{height:50px;line-height:50px;float:left;font-weight:bold;font-size:14px;} .vertslidearrbox{width:30px; height:20px;float:left;margin-top:20px;} .vertslidearrow img{margin:0;} .partnertype-image img{width:110px;} /*end formatting for the slider*/ .partnerslidertitlecontainer { height:70px; } .partnerslidertitlecontainer .slidertitle { margin-right:20px; font-weight:bold; float:left; height:48px; line-height:48px; font-size:20px; width:19%; } .partnerslidertitlecontainer .slidertitlesub { float:left; border:solid #d7d7d7; border-width: 0 0 0 1px; padding:5px 0 5px 20px; width:71%; font-size:14px; } </style> <script> /** * jQuery.ScrollTo - Easy element scrolling using jQuery. * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com * Dual licensed under MIT and GPL. * Date: 5/25/2009 * @author Ariel Flesler * @version 1.4.2 * * http://flesler.blogspot.com/2007/10/jqueryscrollto.html */ ;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);; /** * jQuery.LocalScroll - Animated scrolling navigation, using anchors. * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com * Dual licensed under MIT and GPL. * Date: 3/11/2009 * @author Ariel Flesler * @version 1.2.7 **/ ;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);; /* * jQuery.SerialScroll - Animated scrolling of series * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com * Dual licensed under MIT and GPL. * Date: 06/14/2009 * @author Ariel Flesler * @version 1.2.2 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html */ ;(function(a){var b=a.serialScroll=function(c){return a(window).serialScroll(c)};b.defaults={duration:1e3,axis:"x",event:"click",start:0,step:1,lock:!0,cycle:!0,constant:!0};a.fn.serialScroll=function(c){return this.each(function(){var t=a.extend({},b.defaults,c),s=t.event,i=t.step,r=t.lazy,e=t.target?this:document,u=a(t.target||this,e),p=u[0],m=t.items,h=t.start,g=t.interval,k=t.navigation,l;if(!r){m=d()}if(t.force){f({},h)}a(t.prev||[],e).bind(s,-i,q);a(t.next||[],e).bind(s,i,q);if(!p.ssbound){u.bind("prev.serialScroll",-i,q).bind("next.serialScroll",i,q).bind("goto.serialScroll",f)}if(g){u.bind("start.serialScroll",function(v){if(!g){o();g=!0;n()}}).bind("stop.serialScroll",function(){o();g=!1})}u.bind("notify.serialScroll",function(x,w){var v=j(w);if(v>-1){h=v}});p.ssbound=!0;if(t.jump){(r?u:d()).bind(s,function(v){f(v,j(v.target))})}if(k){k=a(k,e).bind(s,function(v){v.data=Math.round(d().length/k.length)*k.index(this);f(v,this)})}function q(v){v.data+=h;f(v,this)}function f(B,z){if(!isNaN(z)){B.data=z;z=p}var C=B.data,v,D=B.type,A=t.exclude?d().slice(0,-t.exclude):d(),y=A.length,w=A[C],x=t.duration;if(D){B.preventDefault()}if(g){o();l=setTimeout(n,t.interval)}if(!w){v=C<0?0:y-1;if(h!=v){C=v}else{if(!t.cycle){return}else{C=y-v-1}}w=A[C]}if(!w||t.lock&&u.is(":animated")||D&&t.onBefore&&t.onBefore(B,w,u,d(),C)===!1){return}if(t.stop){u.queue("fx",[]).stop()}if(t.constant){x=Math.abs(x/i*(h-C))}u.scrollTo(w,x,t).trigger("notify.serialScroll",[C])}function n(){u.trigger("next.serialScroll")}function o(){clearTimeout(l)}function d(){return a(m,p)}function j(w){if(!isNaN(w)){return w}var x=d(),v;while((v=x.index(w))==-1&&w!=p){w=w.parentNode}return v}})}})(jQuery);; // when the DOM is ready... $(document).ready(function () { var $panels = $('#slider .scrollContainer > div'); var $container = $('#slider .scrollContainer'); var $navigation = $('#slider .navigation'); // Ensure if this jaavscript is being loaded on other pages, that // it doesn't break the page. if (typeof($panels[0]) === "undefined") { return; } // if false, we'll float all the panels left and fix the width // of the container var horizontal = false; // float the panels left if we're going horizontal if (horizontal) { $panels.css({ 'float' : 'left', 'position' : 'relative' // IE fix to ensure overflow is hidden }); // calculate a new width for the container (so it holds all panels) $container.css('width', $panels[0].offsetWidth * $panels.length); } // collect the scroll object, at the same time apply the hidden overflow // to remove the default scrollbars that will appear var $scroll = $('#slider .scroll').css('overflow', 'hidden'); // handle nav selection function selectNav() { $(this) .parents('ul:first') .find('a') .removeClass('selected') .end() .end() .addClass('selected'); } $('#slider .navigation').find('a').click(selectNav); // go find the navigation link that has this target and select the nav function trigger(data) { var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0); selectNav.call(el); } if (window.location.hash) { trigger({ id : window.location.hash.substr(1) }); } else { $('ul.navigation a:first').click(); } // offset is used to move to *exactly* the right place, since I'm using // padding on my example, I need to subtract the amount of padding to // the offset. Try removing this to get a good idea of the effect var offset = parseInt((horizontal ? $container.css('paddingTop') : $container.css('paddingLeft')) || 0) * -1; var scrollOptions = { target: $scroll, // the element that has the overflow // can be a selector which will be relative to the target items: $panels, navigation: '.navigation a', // selectors are NOT relative to document, i.e. make sure they're unique prev: 'img.left', next: 'img.right', // allow the scroll effect to run both directions axis: 'xy', onAfter: trigger, // our final callback offset: offset, // duration of the sliding effect duration: 500, // easing - can be used with the easing plugin: // http://gsgd.co.uk/sandbox/jquery/easing/ easing: 'swing' }; // apply serialScroll to the slider - we chose this plugin because it // supports// the indexed next and previous scroll along with hooking // in to our navigation. $('#slider').serialScroll(scrollOptions); // now apply localScroll to hook any other arbitrary links to trigger // the effect $.localScroll(scrollOptions); // finally, if the URL has a hash, move the slider in to position, // setting the duration to 1 because I don't want it to scroll in the // very first page load. We don't always need this, but it ensures // the positioning is absolutely spot on when the pages loads. scrollOptions.duration = 1; $.localScroll.hash(scrollOptions); });; </script>
0