diff --git a/data/contest.com.html b/data/contest.com.html new file mode 100644 index 0000000000..e897c61410 --- /dev/null +++ b/data/contest.com.html @@ -0,0 +1,261 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>Developer Challenges</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> +<meta name="format-detection" content="telephone=no" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge" /> +<meta name="MobileOptimized" content="176" /> +<meta name="HandheldFriendly" content="True" /><meta property="og:title" content="Telegram Developer Challenges"> +<meta property="og:description" content="Participate in Telegram Coding Competitions and help find issues in the apps."> + + <link rel="shortcut icon" href="/img/cd_favicon.ico" type="image/x-icon" /> +<link rel="mask-icon" href="/img/cd_icon.svg" color="#299ed8"> + <script>document.cookie="stel_dt="+encodeURIComponent((new Date).getTimezoneOffset())+";path=/;max-age=31536000;samesite=None;secure"</script> + + <link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700" rel="stylesheet" type="text/css"> + <link href="/css/bootstrap.min.css?3" rel="stylesheet"> + <link href="/css/bootstrap-extra.css?2" rel="stylesheet"> + <link href="/css/telegram.css?212" rel="stylesheet"> + <link href="/css/contest.css?34" rel="stylesheet"> +<link href="/css/contest-zoo.css?7" rel="stylesheet"> +<link href="/css/jquery-ui.min.css" rel="stylesheet"> + + </head> + <body class="emoji_image no-transition"> + + <div id="aj_progress" class="progress-bar"></div> + + <div id="aj_content"><div class="cd-container"> + <header> + <div class="container"> + <div class="header-wrap"> + <div id="header-panel" class="header-panel"> + <div class="header-auth"> + <div class="header-auth-item"><a class="header-auth-link login-link" href="/auth">Login</a></div> +</div> + <div class="header-breadcrumb header-breadcrumb-simple"> + <ol id="breadcrumb" class="header-nav breadcrumb"><li class="cd-logo"><a href="/"><i class="cd-icon"></i><span class="cd-logo-title">Developer Challenges</span></a></li></ol> + </div> + </div> + </div> + </div> +</header> + <main class="container"><section class="cd-aside"> + + <div class="cd-markdown cd-markdown-page"> + <h4>Recent News</h4> +<p>Subscribe to the <a href="https://t.me/contest">Telegram Contests</a> channel for the latest updates.</p> +<h4>About the Platform</h4> +<p>Everybody is welcome to try out works submitted by the contestants and create issues (with supporting videos and screenshots) if they encounter any problems.</p> +<p><br></p> + +<p>Contestants can respond to issues. They appear on the platform under <strong>animal aliases</strong> to ensure fairness and transparency in testing. <strong>Admins</strong> will be around to do their own checks on the apps and tally up the <strong>results</strong>.</p> + </div> +</section> +<section class="cd-content"> + + <h3 class="cd-header">Contests</h3> + <a href="/stickers2021-r1" class="cd-contest"> + <div class="cd-contest-title">Animated Sticker Contest 2021. $50,000<span class="cd-badge cd-badge-new">New</span></div> + <div class="cd-contest-period">Mar 11 – Mar 26</div> +</a><a href="/android2021-r2" class="cd-contest"> + <div class="cd-contest-title">Android Contest 2021, Round 2. $50,000</div> + <div class="cd-contest-period">Mar 19 – Apr 4</div> +</a><a href="/ios2021-r2" class="cd-contest"> + <div class="cd-contest-title">watchOS Contest 2021. $47,000</div> + <div class="cd-contest-period">Mar 5 – Mar 21</div> +</a><a href="/android2021-r1" class="cd-contest"> + <div class="cd-contest-title">Android Contest 2021. $60,000</div> + <div class="cd-contest-period">Jan 30 – Feb 14</div> +</a><a href="/ios2021-r1" class="cd-contest"> + <div class="cd-contest-title">iOS Animation Contest 2021. $50,000</div> + <div class="cd-contest-period">Jan 15 – Jan 31</div> +</a><a href="/aptitude-tests" class="cd-contest"> + <div class="cd-contest-title">Aptitude Test Contest. €250,000</div> + <div class="cd-contest-period">Dec 31, 2020 – Jan 9</div> +</a><a href="/javascript-web-bonus" class="cd-contest"> + <div class="cd-contest-title">JavaScript Contest, Bonus Round</div> + <div class="cd-contest-period">Aug 18 – Sep 1, 2020</div> +</a><a href="/javascript-web-3" class="cd-contest"> + <div class="cd-contest-title">JavaScript Contest, Stage 3</div> + <div class="cd-contest-period">May 30 – Jun 20, 2020</div> +</a><a href="/data-clustering-2" class="cd-contest"> + <div class="cd-contest-title">Data Clustering Contest, Stage 2. €100,000</div> + <div class="cd-contest-period">May 11 – May 25, 2020</div> +</a><a href="/voip-contest-3" class="cd-contest"> + <div class="cd-contest-title">VoIP Contest, Stage 3. €50,000</div> + <div class="cd-contest-period">Mar 9 – Mar 30, 2020</div> +</a><a href="/blockchain-2-bonus" class="cd-contest"> + <div class="cd-contest-title">Blockchain Contest, Stage 2: Bonus Prize €80,000</div> + <div class="cd-contest-period">Mar 6 – Mar 20, 2020</div> +</a><a href="/javascript-web-2" class="cd-contest"> + <div class="cd-contest-title">JavaScript Contest, Stage 2</div> + <div class="cd-contest-period">Jan 31 – Feb 15, 2020</div> +</a><a href="/voip-contest-2" class="cd-contest"> + <div class="cd-contest-title">VoIP Contest, Stage 2. $75,000</div> + <div class="cd-contest-period">Jan 14 – Jan 29, 2020</div> +</a><a href="/blockchain-2" class="cd-contest"> + <div class="cd-contest-title">Blockchain Contest, Stage 2. $100,000</div> + <div class="cd-contest-period">Dec 7 – Dec 22, 2019</div> +</a><a href="/data-clustering" class="cd-contest"> + <div class="cd-contest-title">Data Clustering Contest. $100,000</div> + <div class="cd-contest-period">Nov 18 – Dec 2, 2019</div> +</a><a href="/javascript-web" class="cd-contest"> + <div class="cd-contest-title">Javascript Contest, Stage 1. $80,000+</div> + <div class="cd-contest-period">Nov 3 – Nov 17, 2019</div> +</a><a href="/voip-contest" class="cd-contest"> + <div class="cd-contest-title">VoIP Contest, Stage 1. $50,000+</div> + <div class="cd-contest-period">Oct 15 – Oct 26, 2019</div> +</a><a href="/animated-stickers" class="cd-contest"> + <div class="cd-contest-title">Animated Stickers Contest. $25,000+</div> + <div class="cd-contest-period">Oct 5 – Oct 20, 2019</div> +</a><a href="/themes" class="cd-contest"> + <div class="cd-contest-title">Theme Design Contest. $25,000+</div> + <div class="cd-contest-period">Oct 5 – Oct 20, 2019</div> +</a><a href="/blockchain" class="cd-contest"> + <div class="cd-contest-title">Blockchain Contest. $200,000–400,000</div> + <div class="cd-contest-period">Sep 24 – Oct 15, 2019</div> +</a><a href="/telegrambugs" class="cd-contest"> + <div class="cd-contest-title">Bugs on Telegram</div> + <div class="cd-contest-period">Jun 14 – Jun 23, 2019</div> +</a><a href="/chart-js" class="cd-contest"> + <div class="cd-contest-title">JavaScript Chart Competition. $50,000</div> + <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div> +</a><a href="/chart-android" class="cd-contest"> + <div class="cd-contest-title">Android Chart Competition. $50,000</div> + <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div> +</a><a href="/chart-ios" class="cd-contest"> + <div class="cd-contest-title">iOS Chart Competition. $50,000</div> + <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div> +</a> +</section></main> +</div><div class="popup-container login-popup-container hide" id="login-popup-container"> + <div class="popup"> + <div class="popup-body"> + <section> + <h2>Log In</h2> + <p>Log in here to leave comments and take part in the Telegram Competitions. Please enter your <b>phone number</b> in the <a target="_blank" rel="noopener" href="https://telegram.org/faq#login-and-sms">international format</a> and we will send a confirmation message to your account via Telegram.</p> + + <form id="send-form" class="login-form"> + <div class="form-group"> + <input type="tel" class="form-control cd-form-control input-lg" id="login-phone" placeholder="+12223334455" autocomplete="off"/> + </div> + <div class="popup-buttons"> + <a class="btn btn-link btn-lg login-cancel-btn">Cancel</a><button type="submit" class="btn btn-link btn-lg">Next</button> + </div> + </form> + + <div id="login-form" class="hide"> + <div class="form-group"> + <span class="form-control cd-form-control input input-lg input-disabled"><strong id="login-phone-field"></strong> (<a class="login-back" href="/auth">Incorrect?</a>)</span> + <p class="help-block dots-animated">We've just sent you a message.<br/>Please confirm access via Telegram</p> + </div> + <div class="popup-buttons"> + <a class="btn btn-link btn-lg login-cancel-btn">Cancel</a><a class="btn btn-link btn-lg login-back">Back</a> + </div> + </div> + </section> + </div> + </div> +</div></div> + <script src="/js/jquery.min.js?1"></script> + <script src="/js/bootstrap.min.js"></script> + <script src="/js/main-aj.js?50"></script> + <script src="/js/contest.js?24"></script> +<script src="/js/jquery-ui.min.js?1"></script> +<script src="/js/tgsticker.js?24"></script> + + <script>ajInit({"version":358,"apiUrl":"\/api?hash=telegram-crawler","unauth":true});</script> + <script id="aj_script">Aj._useScrollHack=true; +Aj.onLoad(function(state) { + function requestConfirmation(event) { + event && event.preventDefault(); + var phone = $('#login-phone').val(); + $.ajax({ + type: 'POST', + url: '/auth/request', + data: { + phone: phone + }, + success: function(result) { + $('#login-phone-field').text(phone); + $('#send-form').addClass('hide'); + $('#login-form').removeClass('hide'); + checkAuth(result.temp_session); + }, + error: function(xhr) { + showAlert(xhr.responseText || 'Server error'); + }, + dataType: 'json' + }); + return false; + } + function cancelConfirmation(event) { + event && event.preventDefault(); + $('#login-phone-field').text(''); + $('#send-form').removeClass('hide'); + $('#login-form').addClass('hide'); + $('#login-phone').focus(); + clearTimeout(window.authTimeout); + return false; + } + function checkAuth(temp_session) { + clearTimeout(window.authTimeout); + window.authTimeout = setTimeout(function doCheckAuth() { + $.ajax({ + type: 'POST', + url: '/auth/login', + data: { + temp_session: temp_session + }, + success: function(result) { + if (result) { + location.reload(); + } else { + checkAuth(temp_session); + } + }, + error: function (xhr) { + showAlert(xhr.responseText || 'Server error'); + }, + dataType: 'json' + }); + }, 700); + } + $('#login-popup-container').on('popup:open', function() { + $('#login-phone').focus(); + }); + $('#login-popup-container').on('popup:close', function() { + cancelConfirmation(); + if (location.pathname == '/auth') { + window.history && history.replaceState(null, null, '/'); + } + }); + $('#login-popup-container #send-form').on('submit', requestConfirmation); + $('#login-popup-container .login-cancel-btn').on('click', function(e) { + e.preventDefault(); + closePopup('#login-popup-container'); + }); + $('#login-popup-container .login-back').on('click', cancelConfirmation); + $('header .login-link').on('click', function(e) { + e.stopImmediatePropagation(); + e.preventDefault(); + openPopup('#login-popup-container'); + }); +}); +Aj.onUnload(function(state) { + $('#login-popup-container').off('popup:open'); + $('#login-popup-container').off('popup:close'); + $('#login-popup-container #send-form').off('submit'); + $('#login-popup-container .login-cancel-btn').off('click'); + $('#login-popup-container .login-back').off('click'); + $('header .login-link').off('click'); +}); +</script> + <script>Aj.pageLoaded();</script> + + </body> +</html> +