You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by rm...@apache.org on 2017/01/18 14:11:07 UTC

[60/78] [abbrv] flink-web git commit: Rebuild site

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/logo/svg/white_filled.svg
----------------------------------------------------------------------
diff --git a/content/img/logo/svg/white_filled.svg b/content/img/logo/svg/white_filled.svg
new file mode 100755
index 0000000..28bd9f9
--- /dev/null
+++ b/content/img/logo/svg/white_filled.svg
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="black" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="2000px" height="1280px" viewBox="0 0 2000 1280" enable-background="new 0 0 2000 1280" xml:space="preserve">
+<symbol  id="New_Symbol_12" viewBox="-35.249 -35.39 70.497 70.78">
+	<g>
+		<path fill="#FFFFFF" d="M-25.976-3.646c0.084-0.104,0.188-0.203,0.289-0.298l0.071-0.066l0.023-0.013
+			c0.212-0.104,0.385-0.166,0.528-0.192c-0.332,1.831-0.466,3.528-0.407,5.186c0.081,2.35,0.526,4.335,1.363,6.072
+			c0.133,0.275,0.775,1.315,0.93,1.534c0,0-0.519-3.545-0.597-4.935c-0.098-1.714,0.057-3.517,0.471-5.508
+			c0.072,0.049,0.143,0.097,0.213,0.146c-0.126,1.147-0.123,2.358,0.011,3.599c0.182,1.686,0.587,3.347,1.235,5.076
+			c0.72,1.923,1.686,3.797,2.872,5.58c-5.853-0.617-7.13-6.193-7.13-6.193s0.05,1.023,0.071,1.281
+			c0.167,1.914,0.364,2.834,0.605,3.796c-0.385-0.704-0.628-1.443-0.802-2.031c-0.409-1.387-0.637-2.8-0.804-3.998
+			c-0.195-1.401-0.288-2.645-0.282-3.8c0.006-1.122,0.072-2.442,0.518-3.724C-26.582-2.741-26.314-3.237-25.976-3.646z"/>
+		<path fill="#FFFFFF" d="M-21.729-1.472c0.528,0.332,1.135,0.59,1.847,0.789c1.252,0.352,2.621,0.705,4.308,1.117l0.56,0.137
+			c1.411,0.343,2.873,0.698,4.245,1.225c0.835,0.318,1.629,0.738,2.429,1.286c1.122,0.766,2.126,1.709,2.985,2.806
+			c0.455,0.579,0.685,1.028,0.912,1.784l0.337,1.116c0,0,1.367-1.53-0.013-4.234c0.875,0.317,1.717,1.217,2.352,2.324
+			c0.533,0.928,1.447,4.278,1.447,4.278s1.678-2.58-0.309-5.932c0.121,0.041,0.793,0.414,1.05,0.669
+			c7.393,7.342,1.029,11.5-0.305,12.494c-0.795,0.592-1.733,1.094-2.896,1.548c-0.056,0.021-0.112,0.043-0.172,0.067
+			c-0.088,0.037-0.139,0.096-0.162,0.125l-0.948,1.033l1.659-0.458c0.232-0.062,0.454-0.123,0.672-0.188
+			c1.811-0.538,3.19-1.181,4.342-2.022c1.312-0.958,6.318-5.165,1.026-11.317c1.639,0.564,4.736,2.276,5.785,3.751
+			c5.051,7.093-0.75,11.229-0.502,11.229c0.055,0,0.131-0.007,0.292-0.029c0.073-0.011,0.142-0.017,0.204-0.017
+			c0.105,0,0.285,0.017,0.32,0.12c0.044,0.123-0.041,0.36-0.215,0.495c-0.453,0.344-0.946,0.596-1.573,0.498
+			c-5.218-0.808-7.062,0.813-7.062,0.813s7.32-0.379,7.555,0.826c-0.97,1.014-2.157,1.896-3.612,2.689
+			c-2.052,1.119-4.264,1.85-6.571,2.19c-3.561,0.529-6.281-0.155-6.281-0.155c0.282,0.356,1.692,1.967,7.537,1.508
+			c2.365-0.187,4.613-0.932,6.694-1.973c0.537-0.269,0.855,0.37,0.864,0.657c0.011,0.337,0.592-1.117,0.6-1.194
+			c0.056,0.145,0.283,0.907,0.33,0.907c0.14,0,0.709-1.777,0.709-1.777c0.006,0.071,0.758,0.843,0.758,0.843
+			c0.224-1.011,0.195-1.517,0.14-1.656c0.005,0.027,0.786,0.506,0.786,0.506s0.449-1.881,1.214-2.627
+			c0.248-0.242,0.702-0.872,0.966-1.553c0.559,0.391,1.243,2.356,1.243,2.356s0.352-1.04,0.057-2.914
+			c0.021,0.023,0.889,0.646,0.889,0.646s0.124-1.323-0.443-2.973c-0.029-0.088-0.05-0.183-0.066-0.279
+			c0.479,0.268,1.191,1.144,1.191,1.144l-0.125-0.555c-0.143-0.63-0.404-1.854-0.965-2.812c-0.359-0.614-0.667-1.261-0.854-2.024
+			c0.144,0.134,0.293,0.25,0.447,0.353c0.296,0.192,0.587,0.344,0.863,0.444l0.684,0.25c1.156,0.42,2.325,0.91,3.459,1.412
+			c2.396,1.06,1.86,2.536,1.86,2.536c-0.615-1.202-2.848-2.406-2.848-2.406s2.891,2.59,1.658,5.618
+			c-0.338-0.796-0.661-1.588-0.964-2.335c-0.424-1.041-0.927-2.14-1.739-3.112c-0.415-0.495-0.842-0.854-1.316-1.101
+			c-0.103-0.053-0.205-0.099-0.339-0.141l-0.126-0.047c0,0,0.507,0.834,0.542,3.134c0.013,0.831,0.035,1.683,0.035,2.436v0.166
+			c0,0.389-0.009,0.777-0.005,1.166c0.014,1.646,0.044,2.896,0.389,4.049c-0.036,0.066-0.015,0.133-0.054,0.201
+			c-0.079,0.137-0.139,0.291-0.21,0.462c-0.107,0.261-0.196,0.524-0.298,0.812c-0.375,1.062-0.909,1.588-1.076,1.734
+			c-0.111-0.34-0.8-1.742-0.8-1.742s0.002,1.076-0.002,1.158c-0.197,1.506-3.922,2.867-3.998,2.914l0.197-1.183
+			c0,0-1.127,0.084-1.606,0.839c-0.099,0.154-0.248,0.264-0.382,0.37L8.137,32.9l0.273-0.63c0,0-0.872,0.07-1.283,0.792
+			c-0.096,0.168-0.221,0.358-0.331,0.557c-0.367,0.666-0.937,1.06-1.694,1.168C4.57,34.863,3.99,34.924,3.33,34.969
+			c-0.418,0.028-0.914,0.09-1.412,0.325c-0.073,0.032-0.15,0.065-0.228,0.096c0.046-0.085,0.092-0.171,0.136-0.256
+			c0.044-0.085,0.075-0.17,0.117-0.281l0.023-0.066l0.094-0.231l0.143-0.508c0,0-1.042,0.042-2.255,0.881
+			c-0.263,0.182-0.593,0.182-0.958,0.211l-0.103,0.009c-0.333,0.028-0.662,0.042-0.979,0.042c-0.966,0-1.849-0.125-2.702-0.383
+			c-0.06-0.019-0.115-0.035-0.172-0.055c0.104,0.005,0.209,0.008,0.313,0.008c0.066,0,0.132-0.002,0.197-0.003
+			c1.998-0.034,2.617-1.218,2.617-1.218s-1.787,0-2.314-0.068c-0.615-0.08-1.238-0.154-1.816-0.313
+			c-1.652-0.454-3.218-1.22-4.786-2.342c-0.365-0.261-0.747-0.503-1.146-0.756c-0.678-0.433-1.25-1.005-1.698-1.701
+			c-0.049-0.076-0.082-0.142-0.103-0.2c-0.04-0.106-0.022-0.117,0.044-0.151c0.138-0.072,0.304-0.134,0.495-0.181
+			c2.828-0.688,4.944-3.065,5.268-5.914l0.043-0.364c0.105-0.902,0.213-1.834,0.167-2.78c-0.122-2.458-0.998-4.649-2.657-6.462
+			c-1.741-1.904-3.901-2.035-3.882-2.02c1.283,1.198,2.128,2.801,2.582,4.896c0.171,0.79,0.097,1.558-0.247,2.439
+			c-0.016-0.045-0.03-0.091-0.047-0.137c-0.286-0.815-0.649-1.753-1.319-2.527c-0.388-0.444-0.919-0.95-1.536-1.537
+			c-2.687-2.557-7.182-6.832-7.105-13.633C-21.894-0.609-21.814-1.098-21.729-1.472z"/>
+		<path fill="#FFFFFF" d="M19.462,15.739c-0.332-0.29-0.667-0.578-1.005-0.86c-0.604-0.505-1.035-0.827-1.964-1.161
+			c-0.813-0.293-1.439,0.366-1.439,0.366c0.539,0.27,0.938,0.657,1.318,1.147c-1.041-0.543-2.276-1.234-3.404-2.093
+			c-0.372-0.284-0.881-0.703-1.148-1.041c-0.365-0.46-0.605-0.938-0.605-1.427v-0.005c0,0.009,0.13,0.015,0.156,0.021
+			c1.301,0.335,2.597,0.919,3.617,1.446c1.629,0.843,3.324,1.879,5.181,3.167c0.069,0.048,0.156,0.104,0.281,0.142l1.093,0.312
+			l-0.673-0.927c-0.024-0.034-0.05-0.068-0.08-0.1c-2.195-2.188-4.471-3.754-6.958-4.786c-0.48-0.201-0.966-0.371-1.451-0.512
+			c1.691,0.441,3.131,0.94,4.463,1.547c1.583,0.72,2.692,1.423,3.597,2.277c1.401,1.327,2.402,2.892,2.977,4.648
+			c0.03,0.093,0.052,0.19,0.072,0.296c-0.093-0.027-0.326-0.096-0.326-0.096c-0.374-0.108-0.761-0.219-1.099-0.383
+			c-0.474-0.229-0.92-0.571-1.258-0.844C20.336,16.495,19.853,16.076,19.462,15.739z"/>
+		<path fill="#FFFFFF" d="M-30.737-8.808c0.378-0.604,0.79-1.201,1.189-1.776l0.061-0.09c-1.036,3.646,0.659,5.844,0.659,5.844
+			l0.42-1.152c0.107-0.299,0.268-0.586,0.492-0.891c0.433,0.81,0.961,1.587,1.576,2.313c-0.525,0.279-0.982,0.682-1.392,1.225
+			c-0.589,0.779-0.978,1.714-1.225,2.937c-0.281,1.397-0.349,2.906-0.204,4.607c0.043,0.513,0.106,1.027,0.173,1.547
+			c-2.11-2.367-3.723-5.062-4.795-8.01c-0.002-0.009,0-0.034,0.009-0.062C-33.083-4.521-32.088-6.644-30.737-8.808z"/>
+		<path fill="#FFFFFF" d="M18.348,25.501c0.007,2.079,0.359,3.942,1.08,5.7c0,0,0.04,0.096,0.052,0.122
+			c-0.262-0.177-0.497-0.417-0.725-0.743c-0.494-0.715-0.859-1.562-1.171-2.748c-0.536-2.026-0.855-4.209-0.994-6.806
+			c0.565,0.604,1.494,1.939,1.688,3.583C18.31,24.886,18.346,25.196,18.348,25.501z"/>
+		<path fill="#FFFFFF" d="M28.28-30.566c-1.168,0.193-3.639,1.062-4.329,2.787c-0.848-2.085,0.903-3.602,2.212-4.28
+			c0.228-0.118,0.295-0.146,0.533-0.242c0.247-0.109-0.488-1.456,0.132-2.076c0.62-0.619,1.206-0.435,1.435-0.435
+			c0,0,1.066-0.988,1.673-0.327c0.155,0.17,0.29,0.774,0.085,1.135c-0.255,0.449-0.87,0.366-0.929,0.365
+			c-1.209-0.015-1.101,0.554-0.916,0.797c0.133,0.173,0.389,0.163,0.606,0.163c0.05,0,0.101-0.004,0.155-0.011
+			c0.278-0.032,0.544-0.047,0.791-0.047c0.987,0,2.14,0.102,2.906,0.527c0.548,0.306,1.447,1.344,1.401,2.04
+			C33.984-30.189,31.6-31.113,28.28-30.566z"/>
+		<path fill="#FFFFFF" d="M35.134-7.608c-0.111,0.287-0.25,0.578-0.372,0.835c-0.06,0.123-0.118,0.248-0.176,0.372
+			c-0.062,0.139-0.129,0.273-0.196,0.409c-0.162,0.327-0.33,0.667-0.446,1.031c-0.101,0.314-0.128,0.636-0.152,0.945
+			c-0.009,0.111-0.021,0.226-0.033,0.334c-0.396,3.41-2.572,6.284-5.531,7.676c-0.111-0.413-0.323-0.814-0.634-1.229
+			c-0.266-0.354-0.425-0.408-0.772-0.406C26.36,2.36,26.292,2.89,26.429,3.14c0.323,0.572,0.536,1.147,0.578,1.6
+			c0.098,1.111-0.523,2.319-1.283,3.151c-0.705,0.771-1.914,1.663-2.887,1.956c-0.234-0.904,0.05-2.396,0.366-3.27
+			c0.389-1.063,1.603-3.154,1.311-4.421c0,0-0.085-0.812-0.896-1.321c-0.45-0.283-0.634-0.156-0.634-0.156
+			c0.867,1.85,0.876,2.629-0.083,4.38c-0.722,1.319-1.057,2.65-0.797,4.124c0.01,0.06,0.029,0.117,0.041,0.176
+			c-0.079-0.201-0.163-0.398-0.26-0.586c-0.737-1.294-1.433-1.967-1.852-3.307c-0.44-1.499,0.03-3.122,0.959-4.714
+			c-0.884,0.539-1.426,1.429-1.632,2.372c-1.497-0.835-2.793-1.958-3.935-3.438c-0.236-0.308-0.517-0.564-0.763-0.791
+			c-1.613-1.49-3.576-2.58-5.833-3.241C7.375-4.773,5.876-5.134,4.4-5.489L4.015-5.58C2-6.066-0.14-6.615-2.17-7.519
+			c-2.336-1.038-4.187-2.232-5.655-3.653c-2.16-2.089-3.478-4.662-3.911-7.647c-0.336-2.302-0.162-4.704,0.532-7.344
+			c0.025-0.095-3.039,2.774-1.458,11.033c-0.237,0.012-0.465,0.019-0.695,0.021l-0.199-0.002c-5.7-0.171-8.071-3.312-8.071-3.312
+			s0.371,3.487,5.861,4.658c0.413,0.088,3.87,0.865,3.986,0.903c0.455,0.926,1.007,1.804,1.644,2.622l-0.49-0.077
+			c-0.94-0.146-1.912-0.296-2.875-0.421l-0.742-0.097c-1.702-0.217-3.463-0.44-5.131-0.932c-1.752-0.514-3.123-1.255-4.194-2.265
+			c-1.148-1.08-1.97-2.473-2.515-4.251c-0.022-0.072-0.041-0.146-0.067-0.254c-0.038-0.146-0.076-0.297-0.132-0.446
+			c-0.058-0.153-0.071-0.323,0.053-0.649c1.026-2.721,2.787-5.08,5.233-7.008c1.872-1.477,4.002-2.646,6.33-3.479
+			c0.078-0.027,0.205-0.072,0.322-0.188l1.026-0.993l-1.605,0.384c-0.188,0.043-0.375,0.087-0.562,0.138
+			c-3.286,0.901-6.15,2.422-8.509,4.517c-0.805,0.292-4.918,2.343-6.665,5.711l-0.291,0.561c0,0,2.233-2.201,3.799-2.522
+			c-0.692,1.122-1.252,2.329-1.664,3.599c-0.026,0.083-0.079,0.177-0.144,0.257c-2.673,3.336-4.587,6.703-5.849,10.3
+			c-0.09,0.255-0.173,0.513-0.252,0.774c-0.127-1.046-0.19-2.093-0.188-3.117c0.001-0.325,2.816-7.805,2.816-7.805
+			s-1.24,1.378-2.265,3.122c0,0-0.18,0.588-0.203,0.626c0.44-2.646,1.294-5.132,2.544-7.435c3.442-6.332,8.718-10.482,16.131-12.422
+			c1.781-0.466,3.722-0.753,5.767-0.753c0,0,22.678-0.021,23.165-0.021c1.089,0,1.922,0.064,2.698,0.205l0.121,0.021
+			c0.262,0.049,0.534,0.1,0.829,0.1c0.313-0.002,0.646-0.042,1.017-0.129l0.183-0.043c0.34-0.082,0.659-0.157,0.974-0.157
+			c3.893-0.029,3.352,2.314,3.352,2.314c-0.162,0.61-0.869,1.034-1.643,1.219c-0.271,0.065-0.549,0.098-0.825,0.098
+			c-0.528,0-1.082-0.12-1.648-0.354c-0.282-0.119-0.565-0.241-0.848-0.362l-0.507-0.22c-0.096-0.041-0.192-0.08-0.289-0.112
+			c-0.229-0.076-0.374-0.105-0.5-0.105c-0.586,0-0.612,0.575-0.628,0.921c-0.019,0.418,0.158,0.809,0.499,1.1
+			c0.274,0.232,0.572,0.459,0.891,0.673c0.575,0.389,1.168,0.79,1.626,1.316c0.576,0.665,0.926,1.339,1.066,2.062
+			c0.092,0.464,0.049,0.917-0.131,1.382c-0.04,0.104-0.079,0.125-0.117,0.137c-0.32,0.103-0.699,0.223-1.084,0.33
+			c-1.439,0.404-2.497,1.008-3.324,1.895c-0.583,0.625-0.98,1.351-1.294,1.978c-0.524,1.054-0.938,2.142-1.228,3.231
+			c-0.47,1.772-1.58,3.193-3.392,4.342c-1.348,0.854-2.893,1.374-4.591,1.545c-0.405,0.043-0.815,0.062-1.248,0.083
+			c-0.108,0.006-0.361,0.038-0.612,0.07c-0.227,0.03-0.451,0.061-0.555,0.065l-0.619,0.037c0,0,0.16,0.225,1.442,0.715
+			c0.243,0.092,0.492,0.115,0.737,0.16c0.594,0.104,1.18,0.157,1.74,0.157c1.352,0,2.629-0.312,3.799-0.927
+			c1.457-0.768,2.62-1.935,3.558-3.57c0.509-0.89,0.91-1.847,1.228-2.925c0.061-0.206,0.113-0.414,0.171-0.636
+			c0.104-0.394,0.21-0.8,0.359-1.169c0.904-2.229,2.582-3.533,4.984-3.877c0.636-0.09,1.257-0.136,1.847-0.136
+			c1.117,0,2.187,0.164,3.176,0.488c1.343,0.44,2.367,1.127,3.131,2.099c0.355,0.451,0.601,0.928,0.752,1.456l0.102,0.356
+			l0.598-0.142c0.128-0.033,0.255-0.063,0.383-0.087c0.09-0.019,0.181-0.026,0.277-0.026c0.272,0,0.55,0.064,0.848,0.131
+			l0.051,0.013c0.223,0.051,0.441,0.06,0.656,0.067l0.179,0.008c0.211,0,0.39-0.142,0.468-0.274c0.09-0.156,0.24-0.246,0.516-0.308
+			c0.07-0.016,0.145-0.022,0.222-0.022c0.676,0,1.385,0.619,1.403,1.227c0.008,0.232-0.054,0.376-0.207,0.481
+			c-0.121,0.083-0.246,0.16-0.386,0.247l-0.673,0.423l0.448,0.341c0.132,0.098,0.277,0.149,0.433,0.149
+			c0.133,0,0.252-0.037,0.355-0.083c0,0-0.562,2.979-4.504,2.112c0,0-0.641-0.263-0.967-0.386l-0.152-0.058
+			c-0.098-0.037-0.196-0.056-0.299-0.056c-0.199,0-0.366,0.074-0.49,0.138c-1.379,0.694-2.73,0.385-2.954,0.385
+			c-0.576,0-1.096,0.057-1.587,0.174c-0.088,0.021-0.219,0.064-0.342,0.199l-0.255,0.285c-1.204-0.06-2.373,0.104-3.488,0.581
+			c-1.285,0.549-2.312,1.386-2.935,2.664c-0.306,0.636-0.456,1.308-0.442,2.021c0.025-0.065,0.053-0.131,0.076-0.197
+			c0.249-0.731,0.614-1.397,1.102-1.999c0.903-1.118,2.068-1.869,3.392-2.398c0.718-0.285,1.46-0.486,2.252-0.619
+			c0,0,2.816-0.105,4.071,0.935c0.953,0.532,1.812,0.78,2.703,0.78l0.185-0.001c3.029,0.004,3.296,1.468,3.296,1.468
+			s0.346-0.224,0.828-0.149c0.429,0.063,0.839,0.194,1.237,0.6c0.32,0.324,0.503,0.752,0.545,1.259
+			c-0.326,0.299-0.657,0.592-1.004,0.901l-0.211,0.186l-0.396,0.312l0.272,0.311c0.167,0.19,0.378,0.291,0.61,0.291
+			c0.136,0,0.269-0.034,0.396-0.104c0.18-0.1,0.338-0.227,0.485-0.344c0.051-0.039,0.101-0.079,0.15-0.117
+			c0.056-0.041,0.183-0.142,0.188-0.146C35.268-8.122,35.232-7.861,35.134-7.608z M31.398-6.803
+			c-0.112-0.314-0.259-0.363-0.588-0.291c-0.173,0.038-0.357,0.049-0.534,0.041c-0.327-0.015-0.651-0.07-0.978-0.077
+			c-0.817-0.016-1.6,0.133-2.25,0.665c-0.921,0.756-1.098,1.649-0.521,2.78c0.007-0.062,0.011-0.087,0.012-0.11
+			c0.037-0.771,0.378-1.37,1.016-1.802c0.53-0.357,1.135-0.5,1.756-0.579c0.502-0.063,0.996-0.147,1.436-0.42
+			c0.038-0.022,0.08-0.042,0.12-0.062c0.006,0.008,0.012,0.016,0.019,0.022c-0.087,0.122-0.116,0.54-0.071,0.713
+			c0.073,0.278,0.089,0.652,0.006,0.875c-0.151-0.379-0.396-0.672-0.74-0.894c-0.057-0.045-0.087-0.057-0.157-0.06
+			c-0.231,0.049-0.458,0.103-0.679,0.177c-0.427,0.142-0.858,0.296-1.251,0.511c-0.55,0.3-0.835,0.769-0.689,1.428
+			c0.047,0.21-0.011,0.397-0.165,0.556c-0.068,0.069-0.128,0.147-0.199,0.231c0.161,0.15,0.301,0.296,0.457,0.422
+			c0.146,0.119,0.301,0.229,0.465,0.322c1.274,0.724,2.995,0.179,3.562-1.148c0.144-0.335,0.221-0.709,0.261-1.072
+			C31.773-5.337,31.653-6.082,31.398-6.803z"/>
+		<path fill="#FFFFFF" d="M-29.561-15.433c-0.058,0.7-0.096,1.398-0.136,2.229c-0.003,0.079-0.019,0.128-0.061,0.188
+			c-1.857,2.681-3.213,5.002-4.265,7.303c-0.185,0.402-0.351,0.788-0.498,1.161c0.666-4.029,2.33-7.684,4.961-10.894
+			C-29.559-15.441-29.559-15.437-29.561-15.433z"/>
+		<path fill="#FFFFFF" d="M26.445-27.534c0.52-0.345,1.166-0.598,2.159-0.845c1.002-0.25,1.927-0.37,2.848-0.37
+			c0.547,0,0.986,0.055,1.385,0.175c0.939,0.283,1.525,0.918,1.741,1.884c0.165,0.738,0.308,1.406,0.378,2.103
+			c0.146,1.462-0.224,2.774-1.097,3.901c-0.103-0.091-0.205-0.18-0.313-0.261c-0.179-0.138-0.375-0.257-0.584-0.358
+			c-0.288-0.141-0.576-0.211-0.857-0.211c-0.283,0-0.562,0.072-0.828,0.212c-0.388,0.206-0.832,0.307-1.36,0.307
+			c-0.186,0-0.386-0.014-0.612-0.037c-0.08-0.01-0.115-0.026-0.158-0.118c-0.762-1.565-2.013-2.679-3.827-3.403
+			c-0.032-0.013-0.047-0.021-0.051-0.021c-0.001,0-0.005-0.018-0.009-0.038c-0.061-0.372-0.117-0.859-0.002-1.338
+			C25.412-26.593,25.798-27.108,26.445-27.534z"/>
+		<path fill="#FFFFFF" d="M8.817,7.339C7.295,5.791,5.453,4.515,3.024,3.317c-1.535-0.754-3.245-1.3-5.384-1.715
+			c-1.223-0.238-2.444-0.469-3.667-0.699l-0.252-0.047C-7.317,0.66-8.356,0.464-9.393,0.265c-2.741-0.526-5.661-1.146-8.47-2.094
+			c-2.039-0.689-3.611-1.42-4.946-2.297c-1.309-0.859-2.213-1.743-2.845-2.781c-0.164-0.271-0.307-0.582-0.432-0.857
+			c-0.071-0.157-0.144-0.313-0.221-0.47c-0.053-0.107-0.118-0.229-0.224-0.335c-1.427-1.396-2.036-3.138-1.808-5.179
+			c0.136-1.226,0.518-2.421,1.165-3.644c0.375,2.495,1.692,4.399,3.917,5.663c1.21,0.688,2.544,1.188,4.08,1.525
+			c1.551,0.344,3.126,0.631,4.605,0.896c0.28,0.05,0.904,0.159,0.904,0.159c1.523,0.268,3.1,0.543,4.596,1.016
+			c0.355,0.111,0.703,0.235,1.026,0.356c0.433,0.163,0.81,0.354,1.154,0.607c0.417,0.309,0.853,0.591,1.308,0.857
+			c-1.926,0.045-5.191,0.049-6.205,0.055c-2.271,0.013-3.833-0.176-5.791-0.921c-2.046-0.779-7.893-3.749-7.893-3.749
+			s2.905,3.108,8.367,5.437c1.899,0.732,3.874,1.213,5.871,1.424c0.889,0.094,1.793,0.139,2.763,0.139
+			c0.812,0,1.654-0.032,2.571-0.098c1.51-0.111,3.02-0.221,4.528-0.324l0.041-0.002c0.071,0,0.147,0.012,0.22,0.033
+			c1.619,0.491,3.252,0.76,4.637,0.957c0.517,0.073,1.042,0.179,1.557,0.287C4.983-3.044,4.879-3.015,4.778-2.986
+			C4.661-2.952,4.549-2.907,4.429-2.857L4.17-2.755L3.153-2.069l3.821-0.082c0.823,0,8.942,1.307,12.417,10.98
+			c0.23,0.645,0.471,1.29,0.658,1.994c-2.44-1.552-5.086-2.605-7.872-3.135C11.134,7.491,10.041,7.378,8.817,7.339z"/>
+		<polygon fill="#FFFFFF" points="22.927,12.856 22.925,12.854 22.927,12.854 		"/>
+	</g>
+	<path fill="#FFFFFF" d="M27.944-3.725c0-0.438,0.356-0.795,0.795-0.795s0.795,0.355,0.795,0.795c0,0.44-0.355,0.795-0.795,0.795
+		C28.3-2.93,27.944-3.285,27.944-3.725z"/>
+</symbol>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M1248.573,1089.554h80.456v19.365h-58.273v34.154h54.929v18.661h-54.929v52.463h-22.183V1089.554z"/>
+		<path fill="#FFFFFF" d="M1348.747,1081.104h21.126v133.095h-21.126V1081.104z"/>
+		<path fill="#FFFFFF" d="M1392.936,1100.997c0-3.403,1.26-6.366,3.785-8.892c2.521-2.521,5.722-3.784,9.595-3.784
+			s7.13,1.204,9.771,3.607c2.642,2.407,3.961,5.431,3.961,9.067c0,3.64-1.319,6.662-3.961,9.066
+			c-2.641,2.406-5.896,3.607-9.771,3.607s-7.071-1.259-9.595-3.784C1394.193,1107.365,1392.936,1104.402,1392.936,1100.997z
+			 M1395.928,1129.693h21.127v84.504h-21.127V1129.693z"/>
+		<path fill="#FFFFFF" d="M1442.756,1129.693h20.07v13.555h0.352c1.876-4.225,5.133-7.949,9.771-11.178
+			c4.635-3.229,10.123-4.844,16.461-4.844c5.516,0,10.237,0.971,14.172,2.905c3.932,1.938,7.158,4.489,9.684,7.659
+			c2.521,3.168,4.371,6.809,5.545,10.914c1.172,4.109,1.762,8.336,1.762,12.677v52.814h-21.127v-46.829
+			c0-2.465-0.176-5.046-0.528-7.746c-0.353-2.698-1.116-5.135-2.287-7.307c-1.176-2.17-2.79-3.961-4.843-5.371
+			c-2.055-1.406-4.783-2.111-8.186-2.111c-3.406,0-6.34,0.677-8.804,2.025c-2.465,1.351-4.49,3.08-6.074,5.191
+			c-1.584,2.113-2.79,4.551-3.608,7.307c-0.821,2.761-1.231,5.547-1.231,8.363v46.478h-21.127L1442.756,1129.693L1442.756,1129.693z
+			"/>
+		<path fill="#FFFFFF" d="M1545.568,1081.104h21.127v84.152h0.526l32.042-35.562h27.111l-36.619,38.203l38.908,46.302h-27.992
+			l-33.451-43.31h-0.526v43.31h-21.127L1545.568,1081.104L1545.568,1081.104z"/>
+	</g>
+	<g>
+		
+			<use xlink:href="#New_Symbol_12"  width="70.497" height="70.78" x="-35.249" y="-35.39" transform="matrix(7.0632 0 0 -7.0632 1438.6172 775.3496)" overflow="visible"/>
+	</g>
+</g>
+<g>
+	<g>
+		<g>
+			<g>
+				<path fill="#FFFFFF" d="M342.773,1130.1h56.092v13.502h-40.627v23.812h38.297v13.011h-38.297V1217h-15.465V1130.1z"/>
+				<path fill="#FFFFFF" d="M412.613,1124.208h14.729V1217h-14.729V1124.208z"/>
+				<path fill="#FFFFFF" d="M443.42,1138.078c0-2.372,0.879-4.438,2.639-6.199c1.76-1.758,3.99-2.639,6.69-2.639
+					s4.972,0.841,6.812,2.517c1.842,1.679,2.763,3.786,2.763,6.321c0,2.537-0.92,4.645-2.763,6.32
+					c-1.84,1.678-4.11,2.517-6.812,2.517s-4.931-0.878-6.69-2.64C444.299,1142.518,443.42,1140.452,443.42,1138.078z
+					 M445.507,1158.084h14.729V1217h-14.729V1158.084z"/>
+				<path fill="#FFFFFF" d="M478.154,1158.084h13.994v9.451h0.244c1.309-2.945,3.578-5.542,6.812-7.793
+					c3.231-2.25,7.058-3.376,11.478-3.376c3.846,0,7.139,0.675,9.881,2.024c2.74,1.352,4.99,3.131,6.75,5.34
+					s3.047,4.746,3.867,7.609c0.815,2.865,1.228,5.811,1.228,8.837V1217h-14.729v-32.648c0-1.719-0.123-3.518-0.367-5.399
+					c-0.246-1.882-0.778-3.579-1.597-5.095c-0.819-1.514-1.944-2.762-3.375-3.743c-1.433-0.982-3.335-1.474-5.708-1.474
+					s-4.418,0.473-6.137,1.412c-1.72,0.941-3.131,2.146-4.234,3.62c-1.105,1.474-1.945,3.172-2.518,5.095
+					c-0.572,1.924-0.857,3.865-0.857,5.83V1217h-14.73V1158.084L478.154,1158.084z"/>
+				<path fill="#FFFFFF" d="M549.835,1124.208h14.729v58.671h0.367l22.34-24.795h18.901l-25.53,26.636L607.77,1217h-19.517
+					l-23.321-30.193h-0.367V1217h-14.729L549.835,1124.208L549.835,1124.208z"/>
+			</g>
+		</g>
+	</g>
+	
+		<use xlink:href="#New_Symbol_12"  width="70.497" height="70.78" id="XMLID_11_" x="-35.249" y="-35.39" transform="matrix(1.7598 0 0 -1.7597 269.8027 1154.0586)" overflow="visible"/>
+</g>
+<g>
+	
+		<use xlink:href="#New_Symbol_12"  width="70.497" height="70.78" x="-35.249" y="-35.39" transform="matrix(11.348 0 0 -11.348 611.5576 498.4609)" overflow="visible"/>
+</g>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M1562.207,346.53h68.343v16.45h-49.5v29.011h46.658v15.852h-46.658v44.565h-18.843V346.53z"/>
+		<path fill="#FFFFFF" d="M1647.298,339.352h17.946v113.056h-17.946V339.352z"/>
+		<path fill="#FFFFFF" d="M1684.833,356.25c0-2.891,1.069-5.408,3.214-7.553c2.145-2.144,4.861-3.215,8.15-3.215
+			c3.291,0,6.058,1.023,8.301,3.065c2.242,2.045,3.363,4.613,3.363,7.702c0,3.091-1.122,5.659-3.363,7.701
+			c-2.244,2.045-5.01,3.066-8.301,3.066c-3.289,0-6.008-1.07-8.15-3.216C1685.902,361.66,1684.833,359.143,1684.833,356.25z
+			 M1687.375,380.625h17.945v71.782h-17.945V380.625z"/>
+		<path fill="#FFFFFF" d="M1727.152,380.625h17.047v11.516h0.301c1.594-3.59,4.358-6.753,8.299-9.496
+			c3.938-2.741,8.599-4.113,13.982-4.113c4.686,0,8.695,0.823,12.037,2.469c3.34,1.645,6.081,3.812,8.227,6.505
+			c2.143,2.691,3.713,5.782,4.711,9.271c0.996,3.491,1.494,7.08,1.494,10.768v44.863h-17.945v-39.779
+			c0-2.094-0.148-4.285-0.448-6.58c-0.298-2.292-0.948-4.36-1.942-6.206c-0.998-1.844-2.369-3.365-4.112-4.562
+			c-1.746-1.196-4.063-1.794-6.954-1.794c-2.895,0-5.384,0.575-7.479,1.72c-2.092,1.147-3.812,2.617-5.158,4.412
+			c-1.347,1.794-2.371,3.864-3.065,6.206c-0.698,2.343-1.047,4.71-1.047,7.104v39.479h-17.944v-71.783H1727.152z"/>
+		<path fill="#FFFFFF" d="M1814.484,339.352h17.944v71.482h0.449l27.217-30.209h23.028l-31.104,32.452l33.05,39.33h-23.777
+			l-28.412-36.788h-0.449v36.788h-17.945V339.352L1814.484,339.352z"/>
+	</g>
+	
+		<use xlink:href="#New_Symbol_12"  width="70.497" height="70.78" id="XMLID_13_" x="-35.249" y="-35.39" transform="matrix(4.8509 0 0 -4.8509 1364.2617 279.8057)" overflow="visible"/>
+</g>
+<text transform="matrix(1 0 0 1 118.9424 104.2578)" font-family="'AvenirNext-DemiBold'" font-size="45.9139">Filled white</text>
+</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/managed-state.png
----------------------------------------------------------------------
diff --git a/content/img/managed-state.png b/content/img/managed-state.png
new file mode 100755
index 0000000..3dbb2fd
Binary files /dev/null and b/content/img/managed-state.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/memory_heap_division.png
----------------------------------------------------------------------
diff --git a/content/img/memory_heap_division.png b/content/img/memory_heap_division.png
new file mode 100644
index 0000000..2b4c2e2
Binary files /dev/null and b/content/img/memory_heap_division.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/navbar-brand-logo.jpg
----------------------------------------------------------------------
diff --git a/content/img/navbar-brand-logo.jpg b/content/img/navbar-brand-logo.jpg
new file mode 100755
index 0000000..5993ee8
Binary files /dev/null and b/content/img/navbar-brand-logo.jpg differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/navbar-brand-logo.png
----------------------------------------------------------------------
diff --git a/content/img/navbar-brand-logo.png b/content/img/navbar-brand-logo.png
new file mode 100644
index 0000000..152f74e
Binary files /dev/null and b/content/img/navbar-brand-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/one_runtime.png
----------------------------------------------------------------------
diff --git a/content/img/one_runtime.png b/content/img/one_runtime.png
new file mode 100644
index 0000000..9cb4363
Binary files /dev/null and b/content/img/one_runtime.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/optimizer_choice.png
----------------------------------------------------------------------
diff --git a/content/img/optimizer_choice.png b/content/img/optimizer_choice.png
new file mode 100644
index 0000000..1f8004b
Binary files /dev/null and b/content/img/optimizer_choice.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/otto-group-logo.jpg
----------------------------------------------------------------------
diff --git a/content/img/otto-group-logo.jpg b/content/img/otto-group-logo.jpg
new file mode 100644
index 0000000..f578af6
Binary files /dev/null and b/content/img/otto-group-logo.jpg differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/out_of_order_stream.png
----------------------------------------------------------------------
diff --git a/content/img/out_of_order_stream.png b/content/img/out_of_order_stream.png
new file mode 100644
index 0000000..20ad09d
Binary files /dev/null and b/content/img/out_of_order_stream.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/parallel_dataflows.png
----------------------------------------------------------------------
diff --git a/content/img/parallel_dataflows.png b/content/img/parallel_dataflows.png
new file mode 100644
index 0000000..dbd83b2
Binary files /dev/null and b/content/img/parallel_dataflows.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/alibaba-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/alibaba-logo.png b/content/img/poweredby/alibaba-logo.png
new file mode 100644
index 0000000..fe8ac1a
Binary files /dev/null and b/content/img/poweredby/alibaba-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/bouygues-logo.jpg
----------------------------------------------------------------------
diff --git a/content/img/poweredby/bouygues-logo.jpg b/content/img/poweredby/bouygues-logo.jpg
new file mode 100755
index 0000000..b48d628
Binary files /dev/null and b/content/img/poweredby/bouygues-logo.jpg differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/capital-one-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/capital-one-logo.png b/content/img/poweredby/capital-one-logo.png
new file mode 100644
index 0000000..752feea
Binary files /dev/null and b/content/img/poweredby/capital-one-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/ericsson-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/ericsson-logo.png b/content/img/poweredby/ericsson-logo.png
new file mode 100644
index 0000000..b4e9c2e
Binary files /dev/null and b/content/img/poweredby/ericsson-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/king-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/king-logo.png b/content/img/poweredby/king-logo.png
new file mode 100644
index 0000000..f155ed3
Binary files /dev/null and b/content/img/poweredby/king-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/otto-group-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/otto-group-logo.png b/content/img/poweredby/otto-group-logo.png
new file mode 100644
index 0000000..8da680d
Binary files /dev/null and b/content/img/poweredby/otto-group-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/researchgate-logo.png
----------------------------------------------------------------------
diff --git a/content/img/poweredby/researchgate-logo.png b/content/img/poweredby/researchgate-logo.png
new file mode 100644
index 0000000..5e6847a
Binary files /dev/null and b/content/img/poweredby/researchgate-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/poweredby/zalando-logo.jpg
----------------------------------------------------------------------
diff --git a/content/img/poweredby/zalando-logo.jpg b/content/img/poweredby/zalando-logo.jpg
new file mode 100644
index 0000000..12c1bcc
Binary files /dev/null and b/content/img/poweredby/zalando-logo.jpg differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/researchgate-logo.png
----------------------------------------------------------------------
diff --git a/content/img/researchgate-logo.png b/content/img/researchgate-logo.png
new file mode 100644
index 0000000..12834e5
Binary files /dev/null and b/content/img/researchgate-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/runtime.png
----------------------------------------------------------------------
diff --git a/content/img/runtime.png b/content/img/runtime.png
new file mode 100755
index 0000000..8fd211f
Binary files /dev/null and b/content/img/runtime.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/savepoints.png
----------------------------------------------------------------------
diff --git a/content/img/savepoints.png b/content/img/savepoints.png
new file mode 100644
index 0000000..9952450
Binary files /dev/null and b/content/img/savepoints.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/source-transform-sink-update.png
----------------------------------------------------------------------
diff --git a/content/img/source-transform-sink-update.png b/content/img/source-transform-sink-update.png
new file mode 100644
index 0000000..3693fb4
Binary files /dev/null and b/content/img/source-transform-sink-update.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/stack.png
----------------------------------------------------------------------
diff --git a/content/img/stack.png b/content/img/stack.png
new file mode 100644
index 0000000..2c34722
Binary files /dev/null and b/content/img/stack.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/streaming_performance.png
----------------------------------------------------------------------
diff --git a/content/img/streaming_performance.png b/content/img/streaming_performance.png
new file mode 100644
index 0000000..cf712df
Binary files /dev/null and b/content/img/streaming_performance.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/windows.png
----------------------------------------------------------------------
diff --git a/content/img/windows.png b/content/img/windows.png
new file mode 100644
index 0000000..9fb23b0
Binary files /dev/null and b/content/img/windows.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/img/zalando-logo.png
----------------------------------------------------------------------
diff --git a/content/img/zalando-logo.png b/content/img/zalando-logo.png
new file mode 100644
index 0000000..6cbe9d8
Binary files /dev/null and b/content/img/zalando-logo.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/improve-website.html
----------------------------------------------------------------------
diff --git a/content/improve-website.html b/content/improve-website.html
new file mode 100644
index 0000000..9091200
--- /dev/null
+++ b/content/improve-website.html
@@ -0,0 +1,291 @@
+<!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">
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <title>Apache Flink: Improving the Website</title>
+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/css/flink.css">
+    <link rel="stylesheet" href="/css/syntax.css">
+
+    <!-- Blog RSS feed -->
+    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <!-- We need to load Jquery in the header for custom google analytics event tracking-->
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+  </head>
+  <body>  
+    
+
+    <!-- Main content. -->
+    <div class="container">
+    <div class="row">
+
+      
+     <div id="sidebar" class="col-sm-3">
+          <!-- Top navbar. -->
+    <nav class="navbar navbar-default">
+        <!-- The logo. -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-logo">
+            <a href="/">
+              <img alt="Apache Flink" src="/img/navbar-brand-logo.png" width="147px" height="73px">
+            </a>
+          </div>
+        </div><!-- /.navbar-header -->
+
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav navbar-main">
+
+            <!-- Downloads -->
+            <li class=""><a class="btn btn-info" href="/downloads.html">Download Flink</a></li>
+
+            <!-- Overview -->
+            <li><a href="/index.html">Home</a></li>
+
+            <!-- Intro -->
+            <li><a href="/introduction.html">Introduction to Flink</a></li>
+
+            <!-- Use cases -->
+            <li><a href="/usecases.html">Flink Use Cases</a></li>
+
+            <!-- Powered by -->
+            <li><a href="/poweredby.html">Powered by Flink</a></li>
+
+            <!-- Ecosystem -->
+            <li><a href="/ecosystem.html">Ecosystem</a></li>
+
+            <!-- Community -->
+            <li><a href="/community.html">Community &amp; Project Info</a></li>
+
+            <!-- Contribute -->
+            <li><a href="/how-to-contribute.html">How to Contribute</a></li>
+
+            <!-- Blog -->
+            <li class=" hidden-md hidden-sm"><a href="/blog/"><b>Flink Blog</b></a></li>
+
+            <hr />
+
+
+
+            <!-- Documentation -->
+            <!-- <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">Documentation <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li> -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation
+                <span class="caret"></span></a>
+                <ul class="dropdown-menu">
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">1.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2" target="_blank">1.2 (Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                </ul>
+              </li>
+
+            <!-- Quickstart -->
+            <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html" target="_blank">Quickstart <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+            <!-- GitHub -->
+            <li>
+              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+
+
+
+
+
+          </ul>
+
+
+
+          <ul class="nav navbar-nav navbar-bottom">
+          <hr />
+
+            <!-- FAQ -->
+            <li ><a href="/faq.html">Project FAQ</a></li>
+
+            <!-- Twitter -->
+            <li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+            <!-- Visualizer -->
+            <li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+          </ul>
+        </div><!-- /.navbar-collapse -->
+    </nav>
+
+      </div>
+      <div class="col-sm-9">
+      <div class="row-fluid">
+  <div class="col-sm-12">
+    <h1>Improving the Website</h1>
+
+	<p>The <a href="http://flink.apache.org">Apache Flink website</a> presents Apache Flink and its community. It serves several purposes including:</p>
+
+<ul>
+  <li>Informing visitors about Apache Flink and its features.</li>
+  <li>Encouraging visitors to download and use Flink.</li>
+  <li>Encouraging visitors to engage with the community.</li>
+</ul>
+
+<p>We welcome any contribution to improve our website. This document contains all information that is necessary to improve Flink\u2019s website.</p>
+
+<div class="page-toc">
+<ul id="markdown-toc">
+  <li><a href="#obtain-the-website-sources" id="markdown-toc-obtain-the-website-sources">Obtain the website sources</a></li>
+  <li><a href="#directory-structure-and-files" id="markdown-toc-directory-structure-and-files">Directory structure and files</a></li>
+  <li><a href="#update-or-extend-the-documentation" id="markdown-toc-update-or-extend-the-documentation">Update or extend the documentation</a></li>
+  <li><a href="#submit-your-contribution" id="markdown-toc-submit-your-contribution">Submit your contribution</a></li>
+  <li><a href="#committer-section" id="markdown-toc-committer-section">Committer section</a></li>
+</ul>
+
+</div>
+
+<h2 id="obtain-the-website-sources">Obtain the website sources</h2>
+
+<p>The website of Apache Flink is hosted in a dedicated <a href="http://git-scm.com/">git</a> repository which is mirrored to Github at <a href="https://github.com/apache/flink-web">https://github.com/apache/flink-web</a>.</p>
+
+<p>The easiest way to contribute website updates is to fork <a href="https://github.com/apache/flink-web">the mirrored website repository on Github</a> into your own Github account by clicking on the fork button at the top right. If you have no Github account, you can create one for free.</p>
+
+<p>Next, clone your fork to your local machine.</p>
+
+<div class="highlight"><pre><code>git clone https://github.com/&lt;your-user-name&gt;/flink-web.git
+</code></pre></div>
+
+<p>The <code>flink-web</code> directory contains the cloned repository. The website resides in the <code>asf-site</code> branch of the repository. Run the following commands to enter the directory and switch to the <code>asf-site</code> branch.</p>
+
+<div class="highlight"><pre><code>cd flink-web
+git checkout asf-site
+</code></pre></div>
+
+<h2 id="directory-structure-and-files">Directory structure and files</h2>
+
+<p>Flink\u2019s website is written in <a href="http://daringfireball.net/projects/markdown/">Markdown</a>. Markdown is a lightweight markup language which can be translated to HTML. We use <a href="http://jekyllrb.com/">Jekyll</a> to generate static HTML files from Markdown.</p>
+
+<p>The files and directories in the website git repository have the following roles:</p>
+
+<ul>
+  <li>All files ending with <code>.md</code> are Markdown files. These files are translated into static HTML files.</li>
+  <li>Regular directories (not starting with an underscore (<code>_</code>)) contain also <code>.md</code> files. The directory structure is reflected in the generated HTML files and the published website.</li>
+  <li>The <code>_posts</code> directory contains blog posts. Each blog post is written as one Markdown file. To contribute a post, add a new file there.</li>
+  <li>The <code>_includes/</code> directory contains includeable files such as the navigation bar or the footer.</li>
+  <li>The <code>docs/</code> directory contains copies of the documentation of Flink for different releases. There is a directory inside <code>docs/</code> for each stable release and the latest SNAPSHOT version. The build script is taking care of the maintenance of this directory.</li>
+  <li>The <code>content/</code> directory contains the generated HTML files from Jekyll. It is important to place the files in this directory since the Apache Infrastructure to host the Flink website is pulling the HTML content from his directory. (For committers: When pushing changes to the website git, push also the updates in the <code>content/</code> directory!)</li>
+</ul>
+
+<h2 id="update-or-extend-the-documentation">Update or extend the documentation</h2>
+
+<p>You can update and extend the website by modifying or adding Markdown files or any other resources such as CSS files. To verify your changes start the build script in preview mode.</p>
+
+<div class="highlight"><pre><code>./build.sh -p
+</code></pre></div>
+
+<p>The script compiles the Markdown files into HTML and starts a local webserver. Open your browser at <code>http://localhost:4000</code> to view the website including your changes. The served website is automatically re-compiled and updated when you modify and save any file and refresh your browser.</p>
+
+<p>Please feel free to ask any questions you have on the developer mailing list.</p>
+
+<h2 id="submit-your-contribution">Submit your contribution</h2>
+
+<p>The Flink project accepts website contributions through the <a href="https://github.com/apache/flink-web">GitHub Mirror</a> as <a href="https://help.github.com/articles/using-pull-requests">Pull Requests</a>. Pull requests are a simple way of offering a patch by providing a pointer to a code branch that contains the changes.</p>
+
+<p>To prepare and submit a pull request follow these steps.</p>
+
+<ol>
+  <li>
+    <p>Commit your changes to your local git repository. <strong>Please Make sure that your commit does not include translated files (any files in the <code>content/</code> directory).</strong> Unless your contribution is a major rework of the website, please squash it into a single commit.</p>
+  </li>
+  <li>
+    <p>Push the commit to a dedicated branch of your fork of the Flink repository at Github.</p>
+
+    <p><code>
+ git push origin myBranch
+</code></p>
+  </li>
+  <li>
+    <p>Go the website of your repository fork (<code>https://github.com/&lt;your-user-name&gt;/flink-web</code>) and use the \u201cCreate Pull Request\u201d button to start creating a pull request. Make sure that the base fork is <code>apache/flink-web asf-site</code> and the head fork selects the branch with your changes. Give the pull request a meaningful description and submit it.</p>
+  </li>
+</ol>
+
+<h2 id="committer-section">Committer section</h2>
+
+<p><strong>This section is only relevant for committers.</strong></p>
+
+<h3 class="no_toc" id="asf-website-git-repositories">ASF website git repositories</h3>
+
+<p><strong>ASF writable</strong>: https://git-wip-us.apache.org/repos/asf/flink-web.git</p>
+
+<p><strong>ASF read-only</strong>: git://git.apache.org/repos/asf/flink-web.git</p>
+
+<p>Details on how to set the credentials for the ASF git repository are <a href="https://git-wip-us.apache.org/">linked here</a>.</p>
+
+<h3 class="no_toc" id="merging-a-pull-request">Merging a pull request</h3>
+
+<p>Contributions are expected to be done on the source files only (no modifications on the compiled files in the <code>content/</code> directory.). Before pushing a website change, please run the build script</p>
+
+<div class="highlight"><pre><code>./build.sh
+</code></pre></div>
+
+<p>add the changes to the <code>content/</code> directory as an additional commit and push the changes to the ASF base repository.</p>
+
+<h3 class="no_toc" id="updating-the-documentation-directory">Updating the documentation directory</h3>
+
+<p>The build script does also take care of maintaining the <code>docs/</code> directory. Set the <code>-u</code> flag to update documentation. This includes fetching the Flink git repository and copying different versions of the documentation.</p>
+
+
+  </div>
+</div>
+
+      </div>
+    </div>
+
+    <hr />
+
+    <div class="row">
+      <div class="footer text-center col-sm-12">
+        <p>Copyright � 2014-2016 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
+        <p>Apache Flink, Apache, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
+        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
+      </div>
+    </div>
+    </div><!-- /.container -->
+
+    <!-- Include all compiled plugins (below), or include individual files as needed -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+    <script src="/js/codetabs.js"></script>
+    <script src="/js/stickysidebar.js"></script>
+
+
+    <!-- Google Analytics -->
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-52545728-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
new file mode 100644
index 0000000..ee32676
--- /dev/null
+++ b/content/index.html
@@ -0,0 +1,348 @@
+<!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">
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <title>Apache Flink: Scalable Stream and Batch Data Processing</title>
+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/css/flink.css">
+    <link rel="stylesheet" href="/css/syntax.css">
+
+    <!-- Blog RSS feed -->
+    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <!-- We need to load Jquery in the header for custom google analytics event tracking-->
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+  </head>
+  <body>  
+    
+
+    <!-- Main content. -->
+    <div class="container">
+    <div class="row">
+
+      
+     <div id="sidebar" class="col-sm-3">
+          <!-- Top navbar. -->
+    <nav class="navbar navbar-default">
+        <!-- The logo. -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-logo">
+            <a href="/">
+              <img alt="Apache Flink" src="/img/navbar-brand-logo.png" width="147px" height="73px">
+            </a>
+          </div>
+        </div><!-- /.navbar-header -->
+
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav navbar-main">
+
+            <!-- Downloads -->
+            <li class=""><a class="btn btn-info" href="/downloads.html">Download Flink</a></li>
+
+            <!-- Overview -->
+            <li class="active"><a href="/index.html">Home</a></li>
+
+            <!-- Intro -->
+            <li><a href="/introduction.html">Introduction to Flink</a></li>
+
+            <!-- Use cases -->
+            <li><a href="/usecases.html">Flink Use Cases</a></li>
+
+            <!-- Powered by -->
+            <li><a href="/poweredby.html">Powered by Flink</a></li>
+
+            <!-- Ecosystem -->
+            <li><a href="/ecosystem.html">Ecosystem</a></li>
+
+            <!-- Community -->
+            <li><a href="/community.html">Community &amp; Project Info</a></li>
+
+            <!-- Contribute -->
+            <li><a href="/how-to-contribute.html">How to Contribute</a></li>
+
+            <!-- Blog -->
+            <li class=" hidden-md hidden-sm"><a href="/blog/"><b>Flink Blog</b></a></li>
+
+            <hr />
+
+
+
+            <!-- Documentation -->
+            <!-- <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">Documentation <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li> -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation
+                <span class="caret"></span></a>
+                <ul class="dropdown-menu">
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">1.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2" target="_blank">1.2 (Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                </ul>
+              </li>
+
+            <!-- Quickstart -->
+            <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html" target="_blank">Quickstart <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+            <!-- GitHub -->
+            <li>
+              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+
+
+
+
+
+          </ul>
+
+
+
+          <ul class="nav navbar-nav navbar-bottom">
+          <hr />
+
+            <!-- FAQ -->
+            <li ><a href="/faq.html">Project FAQ</a></li>
+
+            <!-- Twitter -->
+            <li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+            <!-- Visualizer -->
+            <li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+          </ul>
+        </div><!-- /.navbar-collapse -->
+    </nav>
+
+      </div>
+      <div class="col-sm-9">
+      <div class="row-fluid">
+
+  <div class="col-sm-10 col-sm-offset-1 homecontent">
+    <p class="lead">Apache Flink� is an open-source stream processing framework for <strong>distributed, high-performing, always-available,</strong> and <strong>accurate</strong> data streaming applications.</p>
+    <a href="/introduction.html" class="btn btn-default btn-intro">Introduction to Flink</a>
+  </div>
+
+<div class="col-sm-12">
+  <hr />
+</div>
+
+</div>
+
+<div class="row front-graphic">
+  <img src="/img/flink-front-graphic-update.png" width="599px" height="305px" />
+</div>
+
+<!-- Updates section -->
+
+<div class="row-fluid">
+
+<div class="col-sm-12">
+  <hr />
+</div>
+
+<div class="col-sm-3">
+
+  <h2>Latest Blog Posts</h2>
+
+</div>
+
+<div class="col-sm-9">
+
+  <dl>
+      
+        <dt> <a href="/news/2016/12/21/release-1.1.4.html">Apache Flink 1.1.4 Released</a></dt>
+        <dd><p>The Apache Flink community released the next bugfix version of the Apache Flink 1.1 series.</p>
+
+</dd>
+      
+        <dt> <a href="/news/2016/12/19/2016-year-in-review.html">Apache Flink in 2016: Year in Review</a></dt>
+        <dd><p>As 2016 comes to a close, let's take a moment to look back on the Flink community's great work during the past year.</p></dd>
+      
+        <dt> <a href="/news/2016/10/12/release-1.1.3.html">Apache Flink 1.1.3 Released</a></dt>
+        <dd><p>The Apache Flink community released the next bugfix version of the Apache Flink 1.1. series.</p>
+
+</dd>
+      
+        <dt> <a href="/news/2016/09/05/release-1.1.2.html">Apache Flink 1.1.2 Released</a></dt>
+        <dd><p>The Apache Flink community released another bugfix version of the Apache Flink 1.1. series.</p>
+
+</dd>
+      
+        <dt> <a href="/news/2016/08/24/ff16-keynotes-panels.html">Flink Forward 2016: Announcing Schedule, Keynotes, and Panel Discussion</a></dt>
+        <dd><p>An update for the Flink community: the <a href="http://flink-forward.org/kb_day/day-1/">Flink Forward 2016 schedule</a> is now available online. This year's event will include 2 days of talks from stream processing experts at Google, MapR, Alibaba, Netflix, Cloudera, and more. Following the talks is a full day of hands-on Flink training.</p>
+
+</dd>
+    
+  </dl>
+
+</div>
+
+<!-- Powered by section -->
+
+<div class="row-fluid">
+  <div class="col-sm-12">
+
+
+  <hr />
+    <h2><a href="/poweredby.html">Powered by Flink</a></h2>
+
+
+
+  <div class="jcarousel">
+    <ul>
+        <li>
+          <div><img src="/img/poweredby/alibaba-logo.png" width="175" alt="Alibaba" /></div>
+          <!--<span>Alibaba uses Flink for real-time search optimization.</span>-->
+
+        </li>
+        <li>
+          <div><img src="/img/poweredby/bouygues-logo.jpg" width="175" alt="Bouygues" /></div>
+          <!-- <span>Bouygues Telecom uses Flink for network monitoring.</span> -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/capital-one-logo.png" width="175" alt="Capital One" /></div>
+          <!-- <span>Capital One uses Flink for anomaly detection.</span> -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/ericsson-logo.png" width="175" alt="Ericsson" /></div>
+          <!-- <span>Ericsson uses Flink for .</span> -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/king-logo.png" width="175" alt="King" /></div>
+          <!-- <span>King uses Flink to power real-time game analytics.</span> -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/otto-group-logo.png" width="175" alt="Otto Group" /></div>
+          <!-- <span>Otto Group uses Flink for.</span> -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/researchgate-logo.png" width="175" alt="ResearchGate" /></div>
+          <!-- <span>ResearchGate uses Flink for.</span>        -->
+        </li>
+        <li>
+          <div><img src="/img/poweredby/zalando-logo.jpg" width="175" alt="Zalando" /></div>
+          <!-- <span>Zalando goes big with Flink.</span> -->
+        </li>
+    </ul>
+  </div>
+
+  <a href="#" class="jcarousel-control-prev" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-left"></span></a>
+  <a href="#" class="jcarousel-control-next" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-right"></span></a>
+
+  </div>
+
+</div>
+
+<script type="text/javascript" src="/js/jquery.jcarousel.min.js"></script>
+
+<script type="text/javascript">
+
+  $(window).load(function(){
+   $(function() {
+        var jcarousel = $('.jcarousel');
+
+        jcarousel
+            .on('jcarousel:reload jcarousel:create', function () {
+                var carousel = $(this),
+                    width = carousel.innerWidth();
+
+                if (width >= 600) {
+                    width = width / 4;
+                } else if (width >= 350) {
+                    width = width / 3;
+                }
+
+                carousel.jcarousel('items').css('width', Math.ceil(width) + 'px');
+            })
+            .jcarousel({
+                wrap: 'circular',
+                autostart: true
+            });
+
+        $('.jcarousel-control-prev')
+            .jcarouselControl({
+                target: '-=1'
+            });
+
+        $('.jcarousel-control-next')
+            .jcarouselControl({
+                target: '+=1'
+            });
+
+        $('.jcarousel-pagination')
+            .on('jcarouselpagination:active', 'a', function() {
+                $(this).addClass('active');
+            })
+            .on('jcarouselpagination:inactive', 'a', function() {
+                $(this).removeClass('active');
+            })
+            .on('click', function(e) {
+                e.preventDefault();
+            })
+            .jcarouselPagination({
+                perPage: 1,
+                item: function(page) {
+                    return '<a href="#' + page + '">' + page + '</a>';
+                }
+            });
+    });
+  });
+
+</script>
+</div>
+
+      </div>
+    </div>
+
+    <hr />
+
+    <div class="row">
+      <div class="footer text-center col-sm-12">
+        <p>Copyright � 2014-2016 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
+        <p>Apache Flink, Apache, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
+        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
+      </div>
+    </div>
+    </div><!-- /.container -->
+
+    <!-- Include all compiled plugins (below), or include individual files as needed -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+    <script src="/js/codetabs.js"></script>
+    <script src="/js/stickysidebar.js"></script>
+
+
+    <!-- Google Analytics -->
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-52545728-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/introduction.html
----------------------------------------------------------------------
diff --git a/content/introduction.html b/content/introduction.html
new file mode 100644
index 0000000..f5dc3f6
--- /dev/null
+++ b/content/introduction.html
@@ -0,0 +1,343 @@
+<!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">
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <title>Apache Flink: Introduction to Apache Flink�</title>
+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/css/flink.css">
+    <link rel="stylesheet" href="/css/syntax.css">
+
+    <!-- Blog RSS feed -->
+    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <!-- We need to load Jquery in the header for custom google analytics event tracking-->
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+  </head>
+  <body>  
+    
+
+    <!-- Main content. -->
+    <div class="container">
+    <div class="row">
+
+      
+     <div id="sidebar" class="col-sm-3">
+          <!-- Top navbar. -->
+    <nav class="navbar navbar-default">
+        <!-- The logo. -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-logo">
+            <a href="/">
+              <img alt="Apache Flink" src="/img/navbar-brand-logo.png" width="147px" height="73px">
+            </a>
+          </div>
+        </div><!-- /.navbar-header -->
+
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav navbar-main">
+
+            <!-- Downloads -->
+            <li class=""><a class="btn btn-info" href="/downloads.html">Download Flink</a></li>
+
+            <!-- Overview -->
+            <li><a href="/index.html">Home</a></li>
+
+            <!-- Intro -->
+            <li class="active"><a href="/introduction.html">Introduction to Flink</a></li>
+
+            <!-- Use cases -->
+            <li><a href="/usecases.html">Flink Use Cases</a></li>
+
+            <!-- Powered by -->
+            <li><a href="/poweredby.html">Powered by Flink</a></li>
+
+            <!-- Ecosystem -->
+            <li><a href="/ecosystem.html">Ecosystem</a></li>
+
+            <!-- Community -->
+            <li><a href="/community.html">Community &amp; Project Info</a></li>
+
+            <!-- Contribute -->
+            <li><a href="/how-to-contribute.html">How to Contribute</a></li>
+
+            <!-- Blog -->
+            <li class=" hidden-md hidden-sm"><a href="/blog/"><b>Flink Blog</b></a></li>
+
+            <hr />
+
+
+
+            <!-- Documentation -->
+            <!-- <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">Documentation <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li> -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation
+                <span class="caret"></span></a>
+                <ul class="dropdown-menu">
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1" target="_blank">1.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                  <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2" target="_blank">1.2 (Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                </ul>
+              </li>
+
+            <!-- Quickstart -->
+            <li>
+              <a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html" target="_blank">Quickstart <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+            <!-- GitHub -->
+            <li>
+              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+
+
+
+
+
+          </ul>
+
+
+
+          <ul class="nav navbar-nav navbar-bottom">
+          <hr />
+
+            <!-- FAQ -->
+            <li ><a href="/faq.html">Project FAQ</a></li>
+
+            <!-- Twitter -->
+            <li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+            <!-- Visualizer -->
+            <li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+          </ul>
+        </div><!-- /.navbar-collapse -->
+    </nav>
+
+      </div>
+      <div class="col-sm-9">
+      <div class="row-fluid">
+  <div class="col-sm-12">
+    <h1>Introduction to Apache Flink�</h1>
+
+	<p><br />
+Below is a high-level overview of Apache Flink and stream processing. For a more technical introduction, we recommend the <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/concepts/concepts.html" target="_blank">\u201cConcepts\u201d page</a> in the Flink documentation.
+<br /></p>
+<div class="page-toc">
+<ul id="markdown-toc">
+  <li><a href="#continuous-processing-for-unbounded-datasets" id="markdown-toc-continuous-processing-for-unbounded-datasets">Continuous Processing for Unbounded Datasets</a></li>
+  <li><a href="#features-why-flink" id="markdown-toc-features-why-flink">Features: Why Flink?</a></li>
+  <li><a href="#flink-the-streaming-model-and-bounded-datasets" id="markdown-toc-flink-the-streaming-model-and-bounded-datasets">Flink, the streaming model, and bounded datasets</a></li>
+  <li><a href="#the-what-flink-from-the-bottom-up" id="markdown-toc-the-what-flink-from-the-bottom-up">The \u201cWhat\u201d: Flink from the bottom-up</a>    <ul>
+      <li><a href="#deployment-modes" id="markdown-toc-deployment-modes">Deployment modes</a></li>
+      <li><a href="#runtime" id="markdown-toc-runtime">Runtime</a></li>
+      <li><a href="#apis" id="markdown-toc-apis">APIs</a></li>
+      <li><a href="#libraries" id="markdown-toc-libraries">Libraries</a></li>
+    </ul>
+  </li>
+  <li><a href="#flink-and-other-frameworks" id="markdown-toc-flink-and-other-frameworks">Flink and other frameworks</a></li>
+  <li><a href="#key-takeaways-and-next-steps" id="markdown-toc-key-takeaways-and-next-steps">Key Takeaways and Next Steps</a></li>
+</ul>
+
+</div>
+
+<h2 id="continuous-processing-for-unbounded-datasets">Continuous Processing for Unbounded Datasets</h2>
+<p>Before we go into detail about Flink, let\u2019s review at a higher level the <em>types of datasets</em> you\u2019re likely to encounter when processing data as well as <em>types of execution models</em> you can choose for processing. These two ideas are often conflated, and it\u2019s useful to clearly separate them.</p>
+
+<p><strong>First, 2 types of datasets</strong></p>
+
+<ul>
+  <li>Unbounded: Infinite datasets that are appended to continuously</li>
+  <li>Bounded: Finite, unchanging datasets</li>
+</ul>
+
+<p>Many real-word data sets that are traditionally thought of as bounded or \u201cbatch\u201d data are in reality unbounded datasets. This is true whether the data is stored in a sequence of directories on HDFS or in a log-based system like Apache Kafka.</p>
+
+<p>Examples of unbounded datasets include but are not limited to:</p>
+
+<ul>
+  <li>End users interacting with mobile or web applications</li>
+  <li>Physical sensors providing measurements</li>
+  <li>Financial markets</li>
+  <li>Machine log data</li>
+</ul>
+
+<p><strong>Second, 2 types of execution models</strong></p>
+
+<ul>
+  <li>Streaming: Processing that executes continuously as long as data is being produced</li>
+  <li>Batch: Processing that is executed and runs to completeness in a finite amount of time, releasing computing resources when finished</li>
+</ul>
+
+<p>It\u2019s possible, though not necessarily optimal, to process either type of dataset with either type of execution model. For instance, batch execution has long been applied to unbounded datasets despite potential problems with windowing, state management, and out-of-order data.</p>
+
+<p>Flink relies on a <em>streaming execution model</em>, which is an intuitive fit for processing unbounded datasets: streaming execution is continuous processing on data that is continuously produced. And alignment between the type of dataset and the type of execution model offers many advantages with regard to accuracy and performance.</p>
+
+<h2 id="features-why-flink">Features: Why Flink?</h2>
+
+<p>Flink is an open-source framework for distributed stream processing that:</p>
+
+<ul>
+  <li>Provides results that are <strong>accurate</strong>, even in the case of out-of-order or late-arriving data</li>
+  <li>Is <strong>stateful and fault-tolerant</strong> and can seamlessly recover from failures while maintaining exactly-once application state</li>
+  <li>Performs at <strong>large scale</strong>, running on thousands of nodes with very good throughput and latency characteristics</li>
+</ul>
+
+<p>Earlier, we discussed aligning the type of dataset (bounded vs. unbounded) with the type of execution model (batch vs. streaming). Many of the Flink features listed below\u2013state management, handling of out-of-order data, flexible windowing\u2013are essential for computing accurate results on unbounded datasets and are enabled by Flink\u2019s streaming execution model.</p>
+
+<ul>
+  <li>Flink guarantees <strong>exactly-once semantics for stateful computations</strong>. \u2018Stateful\u2019 means that applications can maintain an aggregation or summary of data that has been processed over time, and Flink\u2019s checkpointing mechanism ensures exactly-once semantics for an application\u2019s state in the event of a failure.</li>
+</ul>
+
+<p><img class="illu" src="/img/exactly_once_state.png" alt="Exactly Once State" width="389px" height="193px" /></p>
+
+<ul>
+  <li>Flink supports stream processing and windowing with <strong>event time semantics</strong>. Event time makes it easy to compute accurate results over streams where events arrive out of order and where events may arrive delayed.</li>
+</ul>
+
+<p><img class="illu" src="/img/out_of_order_stream.png" alt="Out Of Order Stream" width="520px" height="130px" /></p>
+
+<ul>
+  <li>Flink supports <strong>flexible windowing</strong> based on time, count, or sessions in addition to data-driven windows. Windows can be customized with flexible triggering conditions to support sophisticated streaming patterns. Flink\u2019s windowing makes it possible to model the reality of the environment in which data is created.</li>
+</ul>
+
+<p><img class="illu" src="/img/windows.png" alt="Windows" width="520px" height="134px" /></p>
+
+<ul>
+  <li>Flink\u2019s <strong>fault tolerance is lightweight</strong> and allows the system to maintain high throughput rates and provide exactly-once consistency guarantees at the same time. Flink recovers from failures with zero data loss while the tradeoff between reliability and latency is negligible.</li>
+</ul>
+
+<p><img class="illu" src="/img/distributed_snapshots.png" alt="Snapshots" width="260px" height="306px" /></p>
+
+<ul>
+  <li>Flink is capable of <strong>high throughput and low latency</strong> (processing lots of data quickly). The charts below show the performance of Apache Flink and Apache Storm completing a distributed item counting task that requires streaming data shuffles.</li>
+</ul>
+
+<p><img class="illu" src="/img/streaming_performance.png" alt="Performance" width="650px" height="232px" /></p>
+
+<ul>
+  <li>Flink\u2019s <strong>savepoints provide a state versioning mechanism</strong>, making it possible to update applications or reprocess historic data with no lost state and minimal downtime.</li>
+</ul>
+
+<p><img class="illu" src="/img/savepoints.png" alt="Savepoints" width="450px" height="300px" /></p>
+
+<ul>
+  <li>Flink is designed to run on <strong>large-scale clusters</strong> with many thousands of nodes, and in addition to a standalone cluster mode, Flink provides support for YARN and Mesos.</li>
+</ul>
+
+<p><img class="illu" src="/img/parallel_dataflows.png" alt="Parallel" width="695px" height="459px" /></p>
+
+<h2 id="flink-the-streaming-model-and-bounded-datasets">Flink, the streaming model, and bounded datasets</h2>
+
+<p>If you\u2019ve reviewed Flink\u2019s documentation, you might have noticed both a DataStream API for working with unbounded data as well as a DataSet API for working with bounded data.</p>
+
+<p>Earlier in this write-up, we introduced the streaming execution model (\u201cprocessing that executes continuously, an event-at-a-time\u201d) as an intuitive fit for unbounded datasets. So how do bounded datasets relate to the stream processing paradigm?</p>
+
+<p>In Flink\u2019s case, the relationship is quite natural. A bounded dataset can simply be treated as a special case of an unbounded one, so it\u2019s possible to apply all of the same streaming concepts that we\u2019ve laid out above to finite data.</p>
+
+<p>This is exactly how Flink\u2019s DataSet API behaves. A bounded dataset is handled inside of Flink as a \u201cfinite stream\u201d, with only a few minor differences in how Flink manages bounded vs. unbounded datasets.</p>
+
+<p>And so it\u2019s possible to use Flink to process both bounded and unbounded data, with both APIs running on the same distributed streaming execution engine\u2013a simple yet powerful architecture.</p>
+
+<h2 id="the-what-flink-from-the-bottom-up">The \u201cWhat\u201d: Flink from the bottom-up</h2>
+
+<p><img class="illu" src="/img/flink-stack-frontpage.png" alt="Source" width="596px" height="110px" /></p>
+
+<h3 id="deployment-modes">Deployment modes</h3>
+<p>Flink can run in the cloud or on premise and on a standalone cluster or on a cluster managed by YARN or Mesos.</p>
+
+<h3 id="runtime">Runtime</h3>
+<p>Flink\u2019s core is a distributed streaming dataflow engine, meaning that data is processed an event-at-a-time rather than as a series of batches\u2013an important distinction, as this is what enables many of Flink\u2019s resilience and performance features that are detailed above.</p>
+
+<h3 id="apis">APIs</h3>
+
+<ul>
+  <li>Flink\u2019s <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/streaming/index.html" target="_blank">DataStream API</a> is for programs that implement transformations on data streams (e.g., filtering, updating state, defining windows, aggregating).</li>
+  <li>The <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/batch/index.html" target="_blank">DataSet API</a> is for programs that implement transformations on data sets (e.g., filtering, mapping, joining, grouping).</li>
+  <li>The <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/table.html" target="_blank">Table API</a> is a SQL-like expression language for relational stream and batch processing that can be easily embedded in Flink\u2019s DataSet and DataStream APIs (Java and Scala).</li>
+  <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/table.html#sql" target="_blank">Streaming SQL</a> enables SQL queries to be executed on streaming and batch tables. The syntax is based on <a href="https://calcite.apache.org/docs/stream.html" target="_blank">Apache Calcite\u2122</a>.</li>
+</ul>
+
+<h3 id="libraries">Libraries</h3>
+<p>Flink also includes special-purpose libraries for <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/streaming/libs/cep.html" target="_blank">complex event processing</a>, <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/batch/libs/ml/index.html" target="_blank">machine learning</a>, <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/batch/libs/gelly.html" target="_blank">graph processing</a>, and <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/libs/storm_compatibility.html" target="_blank">Apache Storm compatibility</a>.</p>
+
+<h2 id="flink-and-other-frameworks">Flink and other frameworks</h2>
+
+<p>At the most basic level, a Flink program is made up of:</p>
+
+<ul>
+  <li><strong>Data source:</strong> Incoming data that Flink processes</li>
+  <li><strong>Transformations:</strong> The processing step, when Flink modifies incoming data</li>
+  <li><strong>Data sink:</strong> Where Flink sends data after processing</li>
+</ul>
+
+<p><img class="illu" src="/img/source-transform-sink-update.png" alt="Source" width="1000px" height="232px" /></p>
+
+<p>A well-developed ecosystem is necessary for the efficient movement of data in and out of a Flink program, and Flink supports a wide range of connectors to third-party systems for data sources and sinks.</p>
+
+<p>If you\u2019re interested in learning more, we\u2019ve collected <a href="/ecosystem.html">information about the Flink ecosystem here</a>.</p>
+
+<h2 id="key-takeaways-and-next-steps">Key Takeaways and Next Steps</h2>
+
+<p>In summary, Apache Flink is an open-source stream processing framework that eliminates the \u201cperformance vs. reliability\u201d tradeoff often associated with open-source streaming engines and performs consistently in both categories. Following this introduction, we recommend you try our <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html" target="_blank">quickstart</a>, <a href="/downloads.html">download</a> the most recent stable version of Flink, or review the <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/" target="_blank">documentation</a>.</p>
+
+<p>And we encourage you to join the Flink user mailing list and to share your questions with the community. We\u2019re here to help you get the most out of Flink.</p>
+
+
+  </div>
+</div>
+
+      </div>
+    </div>
+
+    <hr />
+
+    <div class="row">
+      <div class="footer text-center col-sm-12">
+        <p>Copyright � 2014-2016 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
+        <p>Apache Flink, Apache, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
+        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
+      </div>
+    </div>
+    </div><!-- /.container -->
+
+    <!-- Include all compiled plugins (below), or include individual files as needed -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+    <script src="/js/codetabs.js"></script>
+    <script src="/js/stickysidebar.js"></script>
+
+
+    <!-- Google Analytics -->
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-52545728-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9ec0a879/content/js/codetabs.js
----------------------------------------------------------------------
diff --git a/content/js/codetabs.js b/content/js/codetabs.js
new file mode 100755
index 0000000..878aa32
--- /dev/null
+++ b/content/js/codetabs.js
@@ -0,0 +1,121 @@
+/*
+ * 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.
+ */
+
+/* Note: This file is originally from the Apache Spark project. */
+
+/* Custom JavaScript code in the MarkDown docs */
+
+// Enable language-specific code tabs
+function codeTabs() {
+  var counter = 0;
+  var langImages = {
+    "scala": "img/scala-sm.png",
+    "python": "img/python-sm.png",
+    "java": "img/java-sm.png"
+  };
+  $("div.codetabs").each(function() {
+    $(this).addClass("tab-content");
+
+    // Insert the tab bar
+    var tabBar = $('<ul class="nav nav-tabs" data-tabs="tabs"></ul>');
+    $(this).before(tabBar);
+
+    // Add each code sample to the tab bar:
+    var codeSamples = $(this).children("div");
+    codeSamples.each(function() {
+      $(this).addClass("tab-pane");
+      var lang = $(this).data("lang");
+      var image = $(this).data("image");
+      var notabs = $(this).data("notabs");
+      var capitalizedLang = lang.substr(0, 1).toUpperCase() + lang.substr(1);
+      var id = "tab_" + lang + "_" + counter;
+      $(this).attr("id", id);
+      if (image != null && langImages[lang]) {
+        var buttonLabel = "<img src='" +langImages[lang] + "' alt='" + capitalizedLang + "' />";
+      } else if (notabs == null) {
+        var buttonLabel = "<b>" + capitalizedLang + "</b>";
+      } else {
+        var buttonLabel = ""
+      }
+      tabBar.append(
+        '<li><a class="tab_' + lang + '" href="#' + id + '">' + buttonLabel + '</a></li>'
+      );
+    });
+
+    codeSamples.first().addClass("active");
+    tabBar.children("li").first().addClass("active");
+    counter++;
+  });
+  $("ul.nav-tabs a").click(function (e) {
+    // Toggling a tab should switch all tabs corresponding to the same language
+    // while retaining the scroll position
+    e.preventDefault();
+    var scrollOffset = $(this).offset().top - $(document).scrollTop();
+    $("." + $(this).attr('class')).tab('show');
+    $(document).scrollTop($(this).offset().top - scrollOffset);
+  });
+}
+
+function makeCollapsable(elt, accordionClass, accordionBodyId, title) {
+  $(elt).addClass("accordion-inner");
+  $(elt).wrap('<div class="accordion ' + accordionClass + '"></div>')
+  $(elt).wrap('<div class="accordion-group"></div>')
+  $(elt).wrap('<div id="' + accordionBodyId + '" class="accordion-body collapse"></div>')
+  $(elt).parent().before(
+    '<div class="accordion-heading">' +
+      '<a class="accordion-toggle" data-toggle="collapse" href="#' + accordionBodyId + '">' +
+             title +
+      '</a>' +
+    '</div>'
+  );
+}
+
+// Enable "view solution" sections (for exercises)
+function viewSolution() {
+  var counter = 0
+  $("div.solution").each(function() {
+    var id = "solution_" + counter
+    makeCollapsable(this, "", id,
+      '<i class="icon-ok-sign" style="text-decoration: none; color: #0088cc">' +
+      '</i>' + "View Solution");
+    counter++;
+  });
+}
+
+// A script to fix internal hash links because we have an overlapping top bar.
+// Based on https://github.com/twitter/bootstrap/issues/193#issuecomment-2281510
+function maybeScrollToHash() {
+  console.log("HERE");
+  if (window.location.hash && $(window.location.hash).length) {
+    console.log("HERE2", $(window.location.hash), $(window.location.hash).offset().top);
+    var newTop = $(window.location.hash).offset().top - 57;
+    $(window).scrollTop(newTop);
+  }
+}
+
+$(function() {
+  codeTabs();
+  viewSolution();
+
+  $(window).bind('hashchange', function() {
+    maybeScrollToHash();
+  });
+
+  // Scroll now too in case we had opened the page on a hash, but wait a bit because some browsers
+  // will try to do *their* initial scroll after running the onReady handler.
+  $(window).load(function() { setTimeout(function() { maybeScrollToHash(); }, 25); }); 
+});