diff --git a/CNAME b/CNAME deleted file mode 100644 index 5311126..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -incremental.co \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dd5d1f3 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +PAGES = find pages -name "*.php" + +all: PAGES + php compile.php > indexed.php diff --git a/blog.php b/blog.php new file mode 100644 index 0000000..87238cf --- /dev/null +++ b/blog.php @@ -0,0 +1,57 @@ + $file + ); + + ob_start(); + + include $file; + + if (!$page) continue; // no page defined + + $page['content'] = ob_get_clean(); + + $pages[$page['name']] = $page; + } + + return $pages; +} + +function get_index() { + return (file_exists('indexed.php')) ? unserialize(file_get_contents('indexed.php')) : compile_pages(); +} + +function create_page($page) { + return $page; +} + +function static_route($route, $set, $compiler) {} + +function glob_recursive($pattern, $flags = 0) +{ + $files = glob($pattern, $flags); + + foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) + { + $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern), $flags)); + } + + return $files; +} + +?> diff --git a/compile.php b/compile.php new file mode 100644 index 0000000..e0686ba --- /dev/null +++ b/compile.php @@ -0,0 +1,2 @@ + + diff --git a/fonts/Nexa Slab Regular.otf b/fonts/Nexa Slab Regular.otf deleted file mode 100755 index 44977e3..0000000 Binary files a/fonts/Nexa Slab Regular.otf and /dev/null differ diff --git a/fonts/NexaBold.otf b/fonts/NexaBold.otf deleted file mode 100644 index 6a60459..0000000 Binary files a/fonts/NexaBold.otf and /dev/null differ diff --git a/fonts/NexaHeavy.otf b/fonts/NexaHeavy.otf deleted file mode 100644 index 0060984..0000000 Binary files a/fonts/NexaHeavy.otf and /dev/null differ diff --git a/fonts/NexaRegular.otf b/fonts/NexaRegular.otf deleted file mode 100644 index cb9030c..0000000 Binary files a/fonts/NexaRegular.otf and /dev/null differ diff --git a/humans.txt b/humans.txt new file mode 100644 index 0000000..66ac96b --- /dev/null +++ b/humans.txt @@ -0,0 +1 @@ +Site for Incremental Code, by Tim Lind. diff --git a/img/IncrementalCode.png b/img/IncrementalCode.png deleted file mode 100644 index 66e83a4..0000000 Binary files a/img/IncrementalCode.png and /dev/null differ diff --git a/img/footer.png b/img/footer.png deleted file mode 100644 index 020a7e0..0000000 Binary files a/img/footer.png and /dev/null differ diff --git a/img/lab-header.png b/img/lab-header.png deleted file mode 100644 index 59b2035..0000000 Binary files a/img/lab-header.png and /dev/null differ diff --git a/img/lab-illustration-dud.png b/img/lab-illustration-dud.png deleted file mode 100644 index 36e1246..0000000 Binary files a/img/lab-illustration-dud.png and /dev/null differ diff --git a/img/lab-illustration.png b/img/lab-illustration.png deleted file mode 100644 index cb553bf..0000000 Binary files a/img/lab-illustration.png and /dev/null differ diff --git a/img/lair-header.png b/img/lair-header.png deleted file mode 100644 index ed8bb03..0000000 Binary files a/img/lair-header.png and /dev/null differ diff --git a/img/lair-illustration-dud.png b/img/lair-illustration-dud.png deleted file mode 100644 index cd7f183..0000000 Binary files a/img/lair-illustration-dud.png and /dev/null differ diff --git a/img/lair-illustration.png b/img/lair-illustration.png deleted file mode 100644 index 9af42fa..0000000 Binary files a/img/lair-illustration.png and /dev/null differ diff --git a/img/logo-ic-transparent-white-incremental.png b/img/logo-ic-transparent-white-incremental.png deleted file mode 100644 index d85c0f3..0000000 Binary files a/img/logo-ic-transparent-white-incremental.png and /dev/null differ diff --git a/img/logo-ic-transparent-white-text-bottom.png b/img/logo-ic-transparent-white-text-bottom.png deleted file mode 100644 index 4f9ada0..0000000 Binary files a/img/logo-ic-transparent-white-text-bottom.png and /dev/null differ diff --git a/img/logo-ic-transparent-white-text.png b/img/logo-ic-transparent-white-text.png deleted file mode 100644 index 4f9ada0..0000000 Binary files a/img/logo-ic-transparent-white-text.png and /dev/null differ diff --git a/img/logo-incremental-code.png b/img/logo-incremental-code.png deleted file mode 100644 index ac6c477..0000000 Binary files a/img/logo-incremental-code.png and /dev/null differ diff --git a/img/logo-white.jpg b/img/logo-white.jpg deleted file mode 100644 index 2d406b2..0000000 Binary files a/img/logo-white.jpg and /dev/null differ diff --git a/img/logo.png b/img/logo.png deleted file mode 100644 index d179e2f..0000000 Binary files a/img/logo.png and /dev/null differ diff --git a/img/transparent-logo-incremental-code-small.png b/img/transparent-logo-incremental-code-small.png deleted file mode 100644 index a56b7d0..0000000 Binary files a/img/transparent-logo-incremental-code-small.png and /dev/null differ diff --git a/img/transparent-logo-incremental-code.png b/img/transparent-logo-incremental-code.png deleted file mode 100644 index a56b7d0..0000000 Binary files a/img/transparent-logo-incremental-code.png and /dev/null differ diff --git a/img/watermark.png b/img/watermark.png deleted file mode 100644 index f33db66..0000000 Binary files a/img/watermark.png and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 71bd825..0000000 --- a/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - -

Incremental Company

- -
- Email - Twitter - Instagram -
- - \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..d05ad93 --- /dev/null +++ b/index.php @@ -0,0 +1,2 @@ + + diff --git a/pages/home.php b/pages/home.php new file mode 100644 index 0000000..e463b97 --- /dev/null +++ b/pages/home.php @@ -0,0 +1,16 @@ + 'home', + 'title' => "Incremental Code: Internet Software Studio", + 'author' => "Tim Lind", + 'draft' => false, + 'date' => '01-05-2014', + 'category' => array(''), + 'tags' => array('') + )); +?> +

+ +
+Welcome to Incremental Code +
diff --git a/pages/lab/index.php b/pages/lab/index.php new file mode 100644 index 0000000..199299c --- /dev/null +++ b/pages/lab/index.php @@ -0,0 +1,4 @@ + 'Lab' + 'description' => 'Experimenting with new and interesting self-sustaining products' +)); ?> diff --git a/style/body.css b/pages/lab/intro.php similarity index 100% rename from style/body.css rename to pages/lab/intro.php diff --git a/privacy.html b/privacy.html deleted file mode 100644 index 0847b20..0000000 --- a/privacy.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - -
-Privacy Policy
-Last Updated: 18 December 2024
-
-Incremental Code Pty Ltd (“we,” “our,” or “us”) respects your privacy and is committed to protecting your personal data.
-This Privacy Policy explains how we collect, use, and share information when you use our application, 
-the “App”, and your rights related to that information.
-
-1. Information We Collect
-We may collect the following types of information when you use our app:
-
-a. Information You Provide Directly
-Name, email address, or other contact information (if required for registration or communication).
-Any data you submit through forms, feedback, or support requests.
-b. Information We Collect Automatically
-Device information (e.g., device type, operating system, and app version).
-Usage data (e.g., app features accessed, interactions, and time spent on the app).
-Analytics data to improve app performance and usability.
-c. Sensitive or Special Information
-We do not collect sensitive information, such as payment details, health data, or biometric data, unless explicitly required for app functionality and with your consent.
-2. How We Use Your Information
-We use your information for the following purposes:
-
-To provide, maintain, and improve the App’s functionality.
-To communicate with you, such as sending notifications or responding to inquiries.
-To analyze app usage and improve user experience.
-To comply with legal obligations.
-3. Sharing Your Information
-We do not sell your personal data to third parties. However, we may share your information in the following cases:
-
-With service providers that help us operate and improve the App (e.g., analytics services).
-If required by law, to comply with a legal obligation or government request.
-In the event of a merger, acquisition, or asset sale, your data may be transferred to the new owner.
-4. Data Retention
-We will retain your data only as long as necessary to fulfill the purposes outlined in this policy or as required by law. Afterward, your data will be securely deleted or anonymized.
-
-5. Security
-We implement appropriate security measures to protect your information. However, no method of transmission or storage is 100% secure. Therefore, we cannot guarantee absolute security.
-
-6. Your Rights
-Depending on your location, you may have the following rights:
-
-Access: Request a copy of your personal data.
-Correction: Correct inaccurate or incomplete data.
-Deletion: Request deletion of your data, subject to legal or contractual obligations.
-Opt-Out: Opt-out of data collection for analytics or marketing purposes.
-To exercise your rights, contact us at [Your Contact Email Address].
-
-7. Third-Party Services
-The App may include links to third-party services or integrations (e.g., analytics, social media). These services operate independently and have their own privacy policies. We are not responsible for their practices.
-
-8. Children's Privacy
-Our App is not intended for children under the age of 13. We do not knowingly collect data from children. If we become aware that we have collected data from a child, we will take steps to delete it.
-
-9. Changes to This Privacy Policy
-We may update this policy from time to time. Any changes will be posted within the App or on our website. Please review this policy periodically for updates.
-
-10. Contact Us
-If you have any questions or concerns about this Privacy Policy, please contact us at:
-
-Incremental Code Pty Ltd
-hello@incremental.co
-
-
- - \ No newline at end of file diff --git a/router.php b/router.php new file mode 100644 index 0000000..0d5e19f --- /dev/null +++ b/router.php @@ -0,0 +1,19 @@ + diff --git a/style/design-variables.css b/style/design-variables.css deleted file mode 100644 index d79abb4..0000000 --- a/style/design-variables.css +++ /dev/null @@ -1,74 +0,0 @@ -.background-illustration { - background: - url('/img/lab-illustration.png') no-repeat 5% 5%, - url('/img/lair-illustration.png') no-repeat 95% 95%; - background-size: 50%; -} - -.darker-background { - background-color: #0d1d28; /* dark on the top */ -} - -.lighter-background { - background-color: #072a3a; /* lighter on the bottom diagonal */ -} - -.content-background { - background-color: #eeeeee; -} - -.highlighted-background, a:active { - background-color: #00526d; -} - -body > header a { - color: white; - font: 600 13px "Helvetica Neue"; /* "NexaRegular"; */ - text-transform: uppercase; - padding: 10px 15px 10px 15px; -} - -body > header a:active, body > header a:hover, a.hover { - background: rgb(22, 65, 90); - border-radius: 3px; - border-top: 1px solid rgb(32, 75, 100) -} - -body > header { - font: "NexaHeavy"; color: #004c66; /* background heading text color and font */ -} - -.main-title { - /* for the category title */ - font-family: "NexaHeavy"; color: #066e91; -} - -.article-title { - /* article titles */ - font-family: "NexaBold"; - color: #00526d; -} - -article, section { - font-family: "NexaRegular"; - color: white; - font-size: medium; -} - -a.button, .read-more { - font-family: "NexaRegular"; - text-transform: capitalize; - color: white; - background-color: #00526d; - padding: 10px; - border-radius: 3px; -} - -body > footer { - /* border-top: 1px solid silver; /* #122838; */ - background-color: white; /* #00394e; #09607f; darker: #00394e; darkerer: #122838; middle: #004c66; lighter: #066e91; */ - font-family: proxima-nova, 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif; /* CTA / heading */ - font-size: 28px; - font-weight: 200; - padding: 50px 20px; -} diff --git a/style/footer.css b/style/footer.css deleted file mode 100644 index e69de29..0000000 diff --git a/style/header.css b/style/header.css deleted file mode 100644 index e69de29..0000000 diff --git a/style/index-white.css b/style/index-white.css deleted file mode 100644 index d362058..0000000 --- a/style/index-white.css +++ /dev/null @@ -1,28 +0,0 @@ -html { - font-family: proxima-nova, 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif; -} - -.logo img { - max-height: 100px; -} - -.logo h1 { - display: none; -} - -.nav { - font-weight: 300; - font-size: 22px; - text-align: right; -} - -.nav a { - text-decoration: none; - color: #066e91; - margin-right: 30px; -} - -h1 { - font-family: "Avenir Next", "Helvetica Neue"; - font-size: 50px; -} diff --git a/style/nexa.css b/style/nexa.css deleted file mode 100644 index 7ebd136..0000000 --- a/style/nexa.css +++ /dev/null @@ -1,14 +0,0 @@ -@font-face { - font-family: NexaRegular; - src: url("/fonts/NexaRegular.otf") format("opentype"); -} - -@font-face { - font-family: NexaHeavy; - src: url("/fonts/NexaHeavy.otf") format("opentype"); -} - -@font-face { - font-family: NexaBold; - src: url("/fonts/NexaBold.otf") format("opentype"); -} diff --git a/style/reset.css b/style/reset.css deleted file mode 100644 index c811554..0000000 --- a/style/reset.css +++ /dev/null @@ -1,7 +0,0 @@ -a { - text-decoration: none; -} - -section { - margin: 0; -} diff --git a/style/style.css b/style/style.css deleted file mode 100644 index 72555b2..0000000 --- a/style/style.css +++ /dev/null @@ -1,272 +0,0 @@ -@import '/style/reset.css'; -@import '/style/nexa.css'; - -html, body { - margin: 0; - - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; -} - -.content { - background: rgba(12, 35, 111, 0.15); - -webkit-flex-grow: 4; - flex-grow: 4; -} - -body > footer { - -webkit-flex-grow: 4; - flex-grow: 1; -} - -body > header { - display: -webkit-flex; - display: flex; - max-width: 100%; - padding: 30px; - border-bottom: 1px solid rgb(18, 40, 56); -} - -.nav { - color: gray; -} - -body > header .nav { - align-self: center; - -webkit-align-self: center; - flex-shrink: 0; - -webkit-flex-shrink: 0; -} - -body > header .nav a { -} - -@media (max-width: 650px) { - body > header { - flex-direction: column; - -webkit-flex-direction: column; - padding: 5%; - } - - body > header .nav { - margin-top: 20px; - display: -webkit-flex; - display: flex; - -webkit-align-self: flex-end; - } - - body .article-title { - font-size: 170%; - } - - .article-body { - padding-top: 100px !important; - } -} - - -body > header .word { - color: #6e7274; - font: 200 11px "Helvetica Neue"; /* "NexaRegular"; */ - text-transform: uppercase; - letter-spacing: 3px; - padding: 0 5px; -} - -body > header a:active, body > header a:hover, a.hover { - background: rgb(22, 65, 90); - border-radius: 3px; - border-top: 1px solid rgb(32, 75, 100) -} - -body > header { - font: "NexaHeavy"; color: #004c66; /* background heading text color and font */ -} - -.logo { - flex-grow: 4; - -webkit-flex-grow: 4; - max-width: 100%; -} - -.logo .logo-icon { - max-width: 100%; -} - -.logo h1 { - display: none; - font: 23pt Nexa; color: white; - text-transform: uppercase; -} - -.logo > * { - align-self: center; - -webkit-align-self: center; -} - -.article-background { - float: left -} - -input { - padding: 5px; -} - -h1 { - font: 600 60px "Avenir Next"; -} - -.lab-illustration { - background: url('/img/lab-illustration.png') no-repeat 20px 90px, #11191c; -} - -.content { - display: -webkit-flex; - display: flex; -} - -.article { - display: -webkit-flex; - display: flex; - flex-direction: column; - -webkit-flex-direction: column; - width: 100%; - align-items: center; /* centers article body element maxd width */ -} - -.article header { - display: block; - text-align: right; - align-self: flex-end; - flex-grow: 2; - -webkit-flex-grow: 2; - z-index: 10; -} - -.article-title { - display: inline-block; - max-width: 50vw; - color: rgba(186, 186, 186, 1); - background: rgba(0,0,0,1); - font-family: "NexaBold"; - font-weight: normal; - font-size: 48pt; - overflow: hidden; - margin: 50px 0 -50px 0; - z-index: 10; - padding: 10vh 25px; - text-align: right; -} - -.article-subtitle { - display: none; /* inline */ - color: #cbcbcb; - background: rgba(0, 111, 147, 0.44); - line-height: 2em; - padding: 9px; - font-family: proxima-nova, 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 14px; - text-transform: uppercase; - letter-spacing: 1px; -} - -.article-body { - display: block; - width: 100vw; - box-sizing: border-box; - - background: white; - flex-grow: 1; - -webkit-flex-grow: 1; - - padding: 55px; - margin: 0; -} - - -.article-body h3 { - margin: 18px 0; - text-transform: uppercase; - font-family: nexaregular; - color: silver; -} - -.article-body h4 { - margin: 0; - text-transform: uppercase; - font-family: nexabold; - color: darkkhaki; - text-align: right; -} - -.body-section h4 strong { - color: slategray; -} - -.body-section.ventures h4 { - color: darkseagreen; -} - -.body-section.lab h4 { - color: darkviolet; -} - -.body-section.studio h4 { - color: slategray; -} - -.body-section.studio h4 strong { - color: black; /* slateblue; */ -} - - - -.article-body p { - font-family: "Helvetica Neue"; - font-weight: 300; - line-height: 1.8em; - color: #333; - text-align: justify; -} - -.body-section { - display: inline-block; - vertical-align: top; - max-width: 300px; - margin: 25px; -} - -.contact-section .button { - margin: 10px; -} - -a.button, .read-more { - font-family: "NexaRegular"; - font-size: 20px; - color: white; - background-color: #00526d; - padding: 15px; - margin: 25px 0 0 0; - display: inline-block; - border-radius: 3px; - background: linear-gradient(40deg, rgb(5, 96, 125) 50%, rgb(6, 110, 145) 50%); -} - -body > footer { - --background-color: #122838; /* #00394e; #09607f; darker: #00394e; darkerer: #122838; middle: #004c66; lighter: #066e91; */ - font-family: proxima-nova, 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif; /* CTA / heading */ - text-align: center; - border-top: 1px solid #122838; - flex-grow: 0; -} - -body > footer .copyright { - font-size: 11px; - color: #555; - min-height: 60px; - line-height: 60px; - font-weight: bold; -} diff --git a/theme/index.php b/theme/index.php new file mode 100644 index 0000000..a16f278 --- /dev/null +++ b/theme/index.php @@ -0,0 +1,34 @@ + + + + + <?php $site['title'] = 'Incremental Code: Internet Software Studio'; ?> + <?php echo ($page['title']) ? $page['title'] : $site['title']; ?> + + + + + + +

+ +
+
Agency ..........
Work on behalf of brands
+
Lab .............
Self-sustaining products
+
Playground ......
Quick products that spark our interest
+
Lair ............
Technically driven explorations
+
BTS .............
Behind the Scenes articles
+
+ +

Say hello...

+ +
Email
hello@incremental.co
+
Twitter
@incrementalcode
+
Location
CodeBridge, Claremont, Cape Town
+ +

Recent articles

+ $page) { + echo $page['title'] . "
"; + } ?> + + diff --git a/theme/style.css b/theme/style.css new file mode 100644 index 0000000..e716788 --- /dev/null +++ b/theme/style.css @@ -0,0 +1,24 @@ +html { + text-align: center; +} + +body { + font-family: Monospace; + font-weight: normal; + + display: inline-block; + text-align: left; +} + +h1, h2 { + font-weight: normal; + font-size: large; + text-align: center; + + margin-top: 50px; + margin-bottom: 50px; +} + +dt, dd { + display: inline-block; +}