CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project
Jekyll 4.3.3 static site for HALOHUB., LTD, deployed at https://halohub.vn (see CNAME). Note: README.md mentions halohub.io but the live host and _config.yml url are halohub.vn — treat _config.yml/CNAME as the source of truth.
Commands
bundle install # install Ruby gems (first time / after Gemfile changes)
make serve # = bundle exec jekyll serve --livereload (dev server with live reload)
bundle exec jekyll build # one-shot build into _site/
There is no test suite, linter, or JS build step — assets are loaded from CDNs (Bootstrap 5, Swiper 8, jQuery) in _includes/head.html, and the only local stylesheet is assets/css/main.css.
Architecture
The site is small and entirely data-driven; a few patterns are worth knowing before editing:
- Single layout, page-controlled chrome. Every page uses
_layouts/default.html, which composeshead.html→navbar.html→banner.html→ content →footer.html. Two front-matter switches alter the layout:show_banner: true— renders the hero banner (_includes/banner.htmlis gated byinclude.show).hide_content: true— suppresses `<h1 id="terms--conditions-mole-maniacs">Terms & Conditions (Mole Maniacs)</h1>
By downloading or using the app, these terms will automatically apply to you – you should make sure therefore that you read them carefully before using the app. You’re not allowed to copy or modify the app, any part of the app, or our trademarks in any way. You’re not allowed to attempt to extract the source code of the app, and you also shouldn’t try to translate the app into other languages or make derivative versions. The app itself, and all the trademarks, copyright, database rights, and other intellectual property rights related to it, still belong to HALOHUB., LTD.
HALOHUB., LTD is committed to ensuring that the app is as useful and efficient as possible. For that reason, we reserve the right to make changes to the app or to charge for its services, at any time and for any reason. We will never charge you for the app or its services without making it very clear to you exactly what you’re paying for.
The Mole Maniacs app stores and processes personal data that you have provided to us, to provide our game. It’s your responsibility to keep your phone and access to the app secure. We therefore recommend that you do not jailbreak or root your phone, which is the process of removing software restrictions and limitations imposed by the official operating system of your device. It could make your phone vulnerable to malware/viruses/malicious programs, compromise your phone’s security features and it could mean that the Mole Maniacs app won’t work properly or at all.
The app does use third-party services that declare their Terms and Conditions.
Link to Terms and Conditions of third-party service providers used by the app
You should be aware that there are certain things that HALOHUB., LTD will not take responsibility for. Certain functions of the app will require the app to have an active internet connection. The connection can be Wi-Fi or provided by your mobile network provider, but HALOHUB., LTD cannot take responsibility for the app not working at full functionality if you don’t have access to Wi-Fi, and you don’t have any of your data allowance left.
If you’re using the app outside of an area with Wi-Fi, you should remember that the terms of the agreement with your mobile network provider will still apply. As a result, you may be charged by your mobile provider for the cost of data for the duration of the connection while accessing the app, or other third-party charges. In using the app, you’re accepting responsibility for any such charges, including roaming data charges if you use the app outside of your home territory (i.e. region or country) without turning off data roaming. If you are not the bill payer for the device on which you’re using the app, please be aware that we assume that you have received permission from the bill payer for using the app.
Along the same lines, HALOHUB., LTD cannot always take responsibility for the way you use the app i.e. You need to make sure that your device stays charged – if it runs out of battery and you can’t turn it on to avail the game, HALOHUB., LTD cannot accept responsibility.
With respect to HALOHUB., LTD’s responsibility for your use of the app, when you’re using the app, it’s important to bear in mind that although we endeavor to ensure that it is updated and correct at all times, we do rely on third parties to provide information to us so that we can make it available to you. HALOHUB., LTD accepts no liability for any loss, direct or indirect, you experience as a result of relying wholly on this functionality of the app.
At some point, we may wish to update the app. The app is currently available on Android – the requirements for the system (and for any additional systems we decide to extend the availability of the app to) may change, and you’ll need to download the updates if you want to keep using the app. HALOHUB., LTD does not promise that it will always update the app so that it is relevant to you and/or works with the Android version that you have installed on your device. However, you promise to always accept updates to the application when offered to you. We may also wish to stop providing the app, and may terminate use of it at any time without giving notice of termination to you. Unless we tell you otherwise, upon any termination, (a) the rights and licenses granted to you in these terms will end; (b) you must stop using the app, and (if needed) delete it from your device.
Changes to This Terms and Conditions
We may update our Terms and Conditions from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Terms and Conditions on this page.
These terms and conditions are effective as of 2022-09-22.
Contact Us
If you have any questions or suggestions about our Terms and Conditions, do not hesitate to contact us at hello@halohub.vn.
` (the home page uses this so index.md body is ignored in favor of the banner).
-
Navigation comes from
_data/toc.yml, not from pages. Adding a new page (e.g. underpages/) does not make it appear in the navbar. You must also add a{ title, url }entry to_data/toc.yml. TheGAMESentry is currently commented out there — uncommenting it is how the games section gets re-exposed. -
Pages live in
pages/with explicitpermalink.pages/about.mdsetspermalink: aboutso it resolves to/about. Follow this convention for new top-level pages rather than relying on Jekyll’s default path-based permalinks. - Lists rendered from
_data/*.yml._data/contact.ymldrives social icons infooter.html(each entry hasshow_on_footerto toggle visibility) and the contact list rendered bypages/about.md. Icons must exist as SVGs atassets/img/icons/{icon}.svg._data/games.ymllists games (currentlymole-maniacs) but there is no game page or layout yet — the data andassets/img/mole-maniacs/screenshots exist ahead of the page. If building game pages, expect to add a layout + iterate oversite.data.games.
-
_includes/swiper.htmlis opt-in. It initializes a Swiper carousel but is not included fromdefault.html; pages that need a slider must<script> const swiper = new Swiper('.swiper', { navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, pagination: { el: '.swiper-pagination', type: 'bullets', }, autoplay: { delay: 5000, }, spaceBetween: 24, }); </script>themselves and provide the matching.swipermarkup. - Root-level non-Jekyll files (
app-ads.txt,googlef90fcf7169ae8acf.html,CNAME, favicons underassets/favicons/) are served verbatim and used for ad-network / search-console / DNS verification — leave them alone unless explicitly updating those integrations.