Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Monday, July 6
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Travel»Sirikwa Classic World Continental Tour to determine Kenya’s team for Africa Cross Country Championships
    Travel

    Sirikwa Classic World Continental Tour to determine Kenya’s team for Africa Cross Country Championships

    Martin AkumaBy Martin AkumaJuly 6, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 7

    Sirikwa Classic World Continental Tour to determine Kenya’s team for Africa Cross Country Championships

    Sirikwa Classic World Continental Tour to determine Kenya’s team for Africa Cross Country Championships

    Faith Kipyegon in the past edition of the Sirikwa Classic © AK

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    Initially known as the Agnes Tirop Memorial World Cross Country Tour, the Sirikwa Classic is set to make its third appearance on the global gold circuit with a host of foreign athletes set to confirm their participation

    The prestigious Sirikwa Classic World Continental Tour, scheduled for February 3 at Lobo Village in Eldoret, will play a pivotal role in selecting the team that will represent Kenya at the Africa Cross Country Championships on 25 February 2024, in Tunis, Tunisia, Athletics Kenya (AK) has confirmed.
    The Sirikwa Classic meet, recognized as a World Athletics Gold-level event, is expected to draw top talents from the athletics-rich region and beyond. AK emphasized the significance of this event as the ultimate platform for identifying and forming a competitive team for the upcoming championship.
    According to AK’s statement, selection of the team to the championship will be done during the Sirikwa Classic- World Continental Tour to be held on 3rd February at the Lobo Village, Eldoret.

    More To Read

    • Omanyala, Odira, Cheruiyot among athletes picked to represent Kenya for Commonwealth Games in Glasgow
    • Ferdinand Omanyala eyes history at Commonwealth Games as Millicent Ndoro secures Glasgow spot
    • Cold weather no obstacle as Kipkemboi, Kemuma dominate Nairobi City Marathon
    • Omanyala, Nyaga and Yego lead Kenyan charge at Rome Diamond League
    • Athletics Kenya names 23-athlete squad for World U20 Championships
    • AK reschedules Premium Weekend Meet as National Championships take centre stage

    In addition to the selection process, AK announced adjustments to the 2023/24 calendar due to changes in the international athletics schedule. The National Cross-Country Championships, initially set for February 24, have been rescheduled to March 9, 2024. These championships will determine the composition of Team Kenya for the World Cross Country Championships in Belgrade, Serbia, scheduled for March 30, 2024.
    The 4th AK Track and Field weekend meet, initially planned for March 22-23 in Kisii, has been shifted to April 5-6, 2024, at the same venue.
    Furthermore, AK’s regional cross-country meetings, in accordance with the 2023/24 season calendar, are set to commence this Friday. Highlight events include the Kenya Defence Forces and National Police Service cross-country championships at Ulinzi Sports Complex and Ngong Race Course, respectively. Simultaneously, the AK University cross-country championships will unfold at Kabarak University in Nakuru.

    Latest Stories

    • KRA removes excise duty on bottled water effective July 1
    • EACC to recover Sh1.5 billion after Court of Appeal declares Ruaraka school land compensation illegal
    • ODM sets sights on Nairobi Governor seat, urges Sakaja to join party
    • EU appoints new envoy to Kenya as Somalia ambassador moves to senior Africa role in major diplomatic reshuffle

    Saturday’s events feature the National Youth Service and Kenya Prisons Service cross-country meet at NYS Paramilitary Academy in Gilgil and Kenya Prisons Staff Training College (PSTC), Ruiru, respectively.

    Other Topics To Read

    • Africa Cross Country Championships
    • Athletics Kenya
    • Sirikwa Classic

    Top Stories Today

    • EACC to recover Sh1.5 billion after Court of Appeal declares Ruaraka school land compensation illegal
    • KRA removes excise duty on bottled water effective July 1
    • ODM sets sights on Nairobi Governor seat, urges Sakaja to join party
    • EU appoints new envoy to Kenya as Somalia ambassador moves to senior Africa role in major diplomatic reshuffle
    • National Youth Council denies backing calls for PS Fikirini’s resignation over Ouma shooting
    • Four suspected armed robbers killed, two others flee after police shootout on Eldoret-Kiplombe Road

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Haaland's heroics send Norway into historic first World Cup quarter-final as Brazil crash out
    Haaland’s heroics send Norway into historic first World Cup quarter-final as Brazil crash outSports
    |Erick Kariuki
    |6 hours ago
    Less sunshine may worsen anxiety and depression symptoms, new research suggests
    Less sunshine may worsen anxiety and depression symptoms, new research suggestsHealth
    |Charity Kilei
    |21 hours ago
    Burkina Faso tightens grip on NGOs with new ban on exploitative humanitarian images
    Burkina Faso tightens grip on NGOs with new ban on exploitative humanitarian imagesAfrica
    |Rachael Mutabasi
    |4 hours ago
    CS Ruku unveils tough new measures to crack down on Sh6.2 billion payroll fraud
    CS Ruku unveils tough new measures to crack down on Sh6.2 billion payroll fraudNews
    |Rachael Mutabasi
    |6 hours ago
    KRA removes excise duty on bottled water effective July 1
    KRA removes excise duty on bottled water effective July 1Business
    |Lucy Mumbi
    |27 minutes ago
    EU appoints new envoy to Kenya as Somalia ambassador moves to senior Africa role in major diplomatic reshuffle
    EU appoints new envoy to Kenya as Somalia ambassador moves to senior Africa role in major diplomatic reshuffleRegional
    |Abdirahman Khalif
    |1 hour ago
    Mbappé fires France past Paraguay into World Cup quarter-finals
    Mbappé fires France past Paraguay into World Cup quarter-finalsSports
    |Erick Kariuki
    |1 day ago
    Saba Saba organisers notify police of planned peaceful demonstration to Parliament
    Saba Saba organisers notify police of planned peaceful demonstration to ParliamentNews
    |Rachael Mutabasi
    |16 hours ago
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
    |Abdirahman Khalif
    |1 day ago

    EACC to recover Sh1.5 billion after Court of Appeal declares Ruaraka school land compensation illegalNews
    |Lucy Mumbi
    |53 minutes ago

    Classic continental Sirikwa Tour World
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Martin Akuma
    • Website

    Related Posts

    China, Namibia expanding bilateral ties

    July 6, 2026

    Gauteng Premier visits families of Ratanda protest victims

    July 6, 2026

    Nicko 2027/28 World Cruise includes extended South Africa and Indian Ocean calls

    July 6, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    China, Namibia expanding bilateral ties

    July 6, 2026

    Gauteng Premier visits families of Ratanda protest victims

    July 6, 2026

    Nicko 2027/28 World Cruise includes extended South Africa and Indian Ocean calls

    July 6, 2026

    South Africa Keeps Tourism Moving as Cape Town, Johannesburg, Durban and Kruger National Park Continue Operating Normally Amid Recent Protests: What Travellers Must Know Now before Visiting!

    July 6, 2026

    ZAWYA: Sharjah Investment Forum returns in October with focus on building adaptive economies

    July 6, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    China, Namibia expanding bilateral ties

    Gauteng Premier visits families of Ratanda protest victims

    Nicko 2027/28 World Cruise includes extended South Africa and Indian Ocean calls

    Most Popular

    South Africa Keeps Tourism Moving as Cape Town, Johannesburg, Durban and Kruger National Park Continue Operating Normally Amid Recent Protests: What Travellers Must Know Now before Visiting!

    ZAWYA: Sharjah Investment Forum returns in October with focus on building adaptive economies

    Oge Elumelu connects young Nigerians to jobs through new internship initiative

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.