mirror of
https://github.com/hyzendust/hyzendust.github.io.git
synced 2026-07-01 07:22:17 +02:00
Compare commits
4 Commits
19c5c79d8d
...
7641c25ab2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7641c25ab2 | ||
|
|
ee91b47673 | ||
|
|
16255bb690 | ||
|
|
cb0d929f7a |
190
SERVER_SETUP.md
190
SERVER_SETUP.md
@@ -1,190 +0,0 @@
|
|||||||
# Server Setup: PostgreSQL + PHP Auth for freedoms4
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
```
|
|
||||||
/var/www/freedoms4/ ← Hugo's published docs/ folder (static files)
|
|
||||||
/var/www/freedoms4/api/ ← PHP backend (auth.php lives here)
|
|
||||||
```
|
|
||||||
|
|
||||||
Nginx serves the static Hugo site and passes `/api/` requests to PHP-FPM.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1 · Install PostgreSQL
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y postgresql postgresql-contrib
|
|
||||||
sudo systemctl enable --now postgresql
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2 · Create the database and user
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo -u postgres psql
|
|
||||||
```
|
|
||||||
|
|
||||||
Inside the psql shell:
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE USER freedoms4_user WITH PASSWORD 'CHANGE_THIS_PASSWORD';
|
|
||||||
CREATE DATABASE freedoms4 OWNER freedoms4_user;
|
|
||||||
\c freedoms4
|
|
||||||
|
|
||||||
CREATE TABLE users (
|
|
||||||
id BIGSERIAL PRIMARY KEY,
|
|
||||||
username VARCHAR(32) NOT NULL UNIQUE,
|
|
||||||
email VARCHAR(254) NOT NULL UNIQUE,
|
|
||||||
password_hash VARCHAR(255) NOT NULL,
|
|
||||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_users_username ON users (username);
|
|
||||||
CREATE INDEX idx_users_email ON users (email);
|
|
||||||
|
|
||||||
-- Optional: allow only this user to access the table
|
|
||||||
REVOKE ALL ON TABLE users FROM PUBLIC;
|
|
||||||
GRANT SELECT, INSERT ON TABLE users TO freedoms4_user;
|
|
||||||
GRANT USAGE, SELECT ON SEQUENCE users_id_seq TO freedoms4_user;
|
|
||||||
|
|
||||||
\q
|
|
||||||
```
|
|
||||||
|
|
||||||
> **Important:** use the same password you set in `DB_PASS` inside `auth.php`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3 · Install the PHP PostgreSQL extension
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Find your PHP version first:
|
|
||||||
php -v
|
|
||||||
|
|
||||||
# Install the pgsql extension (replace 8.x with your version, e.g. 8.3):
|
|
||||||
sudo apt install -y php8.3-pgsql
|
|
||||||
|
|
||||||
# Restart PHP-FPM (replace 8.3 with your version):
|
|
||||||
sudo systemctl restart php8.3-fpm
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify it loaded:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
php -m | grep pgsql # should print: pgsql
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4 · Deploy the PHP file
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo mkdir -p /var/www/freedoms4/api
|
|
||||||
sudo cp /path/to/auth.php /var/www/freedoms4/api/auth.php
|
|
||||||
sudo chown -R www-data:www-data /var/www/freedoms4/api
|
|
||||||
sudo chmod 640 /var/www/freedoms4/api/auth.php
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit the config constants at the top of `auth.php`:
|
|
||||||
|
|
||||||
```php
|
|
||||||
define('DB_PASS', 'CHANGE_THIS_PASSWORD'); // ← your actual password
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5 · Configure Nginx
|
|
||||||
|
|
||||||
Open your site config (e.g. `/etc/nginx/sites-available/freedoms4`):
|
|
||||||
|
|
||||||
```nginx
|
|
||||||
server {
|
|
||||||
listen 443 ssl http2;
|
|
||||||
server_name freedoms4.org www.freedoms4.org;
|
|
||||||
|
|
||||||
root /var/www/freedoms4;
|
|
||||||
index index.html;
|
|
||||||
|
|
||||||
# ── Static Hugo files ───────────────────────────────────────────────
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ $uri/index.html =404;
|
|
||||||
}
|
|
||||||
|
|
||||||
# ── PHP API ─────────────────────────────────────────────────────────
|
|
||||||
location /api/ {
|
|
||||||
# Only allow POST (OPTIONS for CORS preflight)
|
|
||||||
limit_except POST OPTIONS {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Pass to PHP-FPM (adjust socket path to match your PHP version)
|
|
||||||
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
|
|
||||||
fastcgi_index index.php;
|
|
||||||
include fastcgi_params;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
||||||
}
|
|
||||||
|
|
||||||
# ── Block direct access to .php files outside /api/ ─────────────────
|
|
||||||
location ~* \.php$ {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
# SSL certs (already configured, adjust paths if needed)
|
|
||||||
ssl_certificate /etc/letsencrypt/live/freedoms4.org/fullchain.pem;
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/freedoms4.org/privkey.pem;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Test and reload:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nginx -t
|
|
||||||
sudo systemctl reload nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6 · Deploy the Hugo frontend changes
|
|
||||||
|
|
||||||
In your local Hugo project, apply the three file changes from the delivery package, then rebuild and sync:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# From inside the freedoms4 project directory:
|
|
||||||
hugo --minify
|
|
||||||
|
|
||||||
# Sync to server (adjust user/host):
|
|
||||||
rsync -avz --delete docs/ user@your-vps:/var/www/freedoms4/
|
|
||||||
```
|
|
||||||
|
|
||||||
Or if you use git+CI, commit and push; your pipeline handles the rest.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 7 · Test
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Sign up
|
|
||||||
curl -s -X POST https://freedoms4.org/api/auth.php \
|
|
||||||
-H 'Content-Type: application/json' \
|
|
||||||
-d '{"action":"signup","username":"testuser","email":"test@example.com","password":"hunter2hunter2"}' | jq .
|
|
||||||
|
|
||||||
# Log in
|
|
||||||
curl -s -X POST https://freedoms4.org/api/auth.php \
|
|
||||||
-H 'Content-Type: application/json' \
|
|
||||||
-d '{"action":"login","username":"testuser","password":"hunter2hunter2"}' | jq .
|
|
||||||
```
|
|
||||||
|
|
||||||
Both should return `{"success":true, ...}`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Security notes
|
|
||||||
|
|
||||||
- All passwords are stored as bcrypt hashes (cost 12). Plain-text passwords are never written to disk or logs.
|
|
||||||
- Session cookies are `HttpOnly`, `Secure`, and `SameSite=Strict`.
|
|
||||||
- A simple per-IP rate limit (20 requests per 15 min) is enforced server-side via PHP sessions.
|
|
||||||
- For production, consider adding `fail2ban` rules on your Nginx access log to block repeated 429s at the firewall level.
|
|
||||||
- Keep `SESSION_SECURE = true` (requires HTTPS, which you already have).
|
|
||||||
195
api/auth.php
195
api/auth.php
@@ -1,195 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* auth.php — Login & Sign-Up backend for freedoms4
|
|
||||||
*
|
|
||||||
* Place this file at: /var/www/freedoms4/api/auth.php
|
|
||||||
*/
|
|
||||||
|
|
||||||
// ── Config ──────────────────────────────────────────────────────────────────
|
|
||||||
define('DB_HOST', '127.0.0.1');
|
|
||||||
define('DB_PORT', '5432');
|
|
||||||
define('DB_NAME', 'freedoms4');
|
|
||||||
define('DB_USER', 'freedoms4_user');
|
|
||||||
define('DB_PASS', 'CHANGE_THIS_PASSWORD'); // ← change before deploying
|
|
||||||
|
|
||||||
define('SESSION_NAME', 'f4_session');
|
|
||||||
define('SESSION_SECURE', true);
|
|
||||||
define('SESSION_SAMESITE', 'None'); // cross-origin cookies require None
|
|
||||||
|
|
||||||
// ── CORS ─────────────────────────────────────────────────────────────────────
|
|
||||||
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
|
|
||||||
$allowed_origins = ['https://freedoms4.org', 'https://www.freedoms4.org'];
|
|
||||||
|
|
||||||
if ($origin && !in_array($origin, $allowed_origins, true)) {
|
|
||||||
http_response_code(403);
|
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
|
||||||
echo json_encode(['success' => false, 'message' => 'Forbidden.']);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($origin) {
|
|
||||||
header('Access-Control-Allow-Origin: ' . $origin);
|
|
||||||
header('Access-Control-Allow-Methods: POST, OPTIONS');
|
|
||||||
header('Access-Control-Allow-Headers: Content-Type');
|
|
||||||
header('Access-Control-Allow-Credentials: true');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
|
||||||
http_response_code(204);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
||||||
function json_out(array $data, int $status = 200): never {
|
|
||||||
http_response_code($status);
|
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
|
||||||
echo json_encode($data);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_session(): void {
|
|
||||||
if (session_status() === PHP_SESSION_NONE) {
|
|
||||||
session_name(SESSION_NAME);
|
|
||||||
session_set_cookie_params([
|
|
||||||
'lifetime' => 0,
|
|
||||||
'path' => '/',
|
|
||||||
'secure' => SESSION_SECURE,
|
|
||||||
'httponly' => true,
|
|
||||||
'samesite' => SESSION_SAMESITE,
|
|
||||||
]);
|
|
||||||
session_start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function db_connect(): PDO {
|
|
||||||
static $pdo = null;
|
|
||||||
if ($pdo !== null) return $pdo;
|
|
||||||
|
|
||||||
$dsn = sprintf('pgsql:host=%s;port=%s;dbname=%s', DB_HOST, DB_PORT, DB_NAME);
|
|
||||||
|
|
||||||
try {
|
|
||||||
$pdo = new PDO($dsn, DB_USER, DB_PASS, [
|
|
||||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
||||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
||||||
PDO::ATTR_EMULATE_PREPARES => false,
|
|
||||||
]);
|
|
||||||
} catch (PDOException $e) {
|
|
||||||
error_log('DB connection failed: ' . $e->getMessage());
|
|
||||||
json_out(['success' => false, 'message' => 'Database unavailable. Please try again later.'], 503);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $pdo;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ── Only accept POST ──────────────────────────────────────────────────────────
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
||||||
json_out(['success' => false, 'message' => 'Method not allowed.'], 405);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ── Parse JSON body ───────────────────────────────────────────────────────────
|
|
||||||
$body = json_decode(file_get_contents('php://input'), true);
|
|
||||||
|
|
||||||
if (!is_array($body)) {
|
|
||||||
json_out(['success' => false, 'message' => 'Invalid request body.'], 400);
|
|
||||||
}
|
|
||||||
|
|
||||||
$action = $body['action'] ?? '';
|
|
||||||
|
|
||||||
// ── Rate limiting (per-IP via session) ────────────────────────────────────────
|
|
||||||
start_session();
|
|
||||||
$now = time();
|
|
||||||
$rl_key = 'rl_' . hash('sha256', $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0');
|
|
||||||
$rl = $_SESSION[$rl_key] ?? ['count' => 0, 'window_start' => $now];
|
|
||||||
|
|
||||||
if ($now - $rl['window_start'] > 900) {
|
|
||||||
$rl = ['count' => 0, 'window_start' => $now];
|
|
||||||
}
|
|
||||||
|
|
||||||
$rl['count']++;
|
|
||||||
$_SESSION[$rl_key] = $rl;
|
|
||||||
|
|
||||||
if ($rl['count'] > 20) {
|
|
||||||
json_out(['success' => false, 'message' => 'Too many requests. Please wait a few minutes.'], 429);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
// ACTION: login
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
if ($action === 'login') {
|
|
||||||
$username = trim($body['username'] ?? '');
|
|
||||||
$password = $body['password'] ?? '';
|
|
||||||
|
|
||||||
if ($username === '' || $password === '') {
|
|
||||||
json_out(['success' => false, 'message' => 'Username and password are required.']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$pdo = db_connect();
|
|
||||||
$stmt = $pdo->prepare('SELECT id, username, password_hash FROM users WHERE username = :u LIMIT 1');
|
|
||||||
$stmt->execute([':u' => $username]);
|
|
||||||
$user = $stmt->fetch();
|
|
||||||
|
|
||||||
$hash = $user['password_hash'] ?? '$2y$12$invalidhashpadding000000000000000000000000000000000000000';
|
|
||||||
if (!$user || !password_verify($password, $hash)) {
|
|
||||||
json_out(['success' => false, 'message' => 'Invalid username or password.']);
|
|
||||||
}
|
|
||||||
|
|
||||||
session_regenerate_id(true);
|
|
||||||
$_SESSION['user_id'] = $user['id'];
|
|
||||||
$_SESSION['username'] = $user['username'];
|
|
||||||
|
|
||||||
json_out(['success' => true, 'redirect' => '/']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
// ACTION: signup
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
if ($action === 'signup') {
|
|
||||||
$username = trim($body['username'] ?? '');
|
|
||||||
$email = trim($body['email'] ?? '');
|
|
||||||
$password = $body['password'] ?? '';
|
|
||||||
|
|
||||||
if ($username === '') {
|
|
||||||
json_out(['success' => false, 'message' => 'Username is required.']);
|
|
||||||
}
|
|
||||||
if (!preg_match('/^[a-zA-Z0-9_\-]{3,32}$/', $username)) {
|
|
||||||
json_out(['success' => false, 'message' => 'Username must be 3–32 characters: letters, numbers, _ or -.']);
|
|
||||||
}
|
|
||||||
if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
||||||
json_out(['success' => false, 'message' => 'A valid email address is required.']);
|
|
||||||
}
|
|
||||||
if (strlen($password) < 8) {
|
|
||||||
json_out(['success' => false, 'message' => 'Password must be at least 8 characters.']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$pdo = db_connect();
|
|
||||||
$stmt = $pdo->prepare('SELECT 1 FROM users WHERE username = :u OR email = :e LIMIT 1');
|
|
||||||
$stmt->execute([':u' => $username, ':e' => $email]);
|
|
||||||
|
|
||||||
if ($stmt->fetch()) {
|
|
||||||
json_out(['success' => false, 'message' => 'Username or email is already taken.']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
|
|
||||||
$stmt = $pdo->prepare(
|
|
||||||
'INSERT INTO users (username, email, password_hash, created_at) VALUES (:u, :e, :h, NOW())'
|
|
||||||
);
|
|
||||||
$stmt->execute([':u' => $username, ':e' => $email, ':h' => $hash]);
|
|
||||||
|
|
||||||
json_out(['success' => true]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
// ACTION: logout
|
|
||||||
// ════════════════════════════════════════════════════════════════════════════
|
|
||||||
if ($action === 'logout') {
|
|
||||||
$_SESSION = [];
|
|
||||||
if (ini_get('session.use_cookies')) {
|
|
||||||
$p = session_get_cookie_params();
|
|
||||||
setcookie(session_name(), '', time() - 42000,
|
|
||||||
$p['path'], $p['domain'], $p['secure'], $p['httponly']);
|
|
||||||
}
|
|
||||||
session_destroy();
|
|
||||||
json_out(['success' => true, 'redirect' => '/']);
|
|
||||||
}
|
|
||||||
|
|
||||||
json_out(['success' => false, 'message' => 'Unknown action.'], 400);
|
|
||||||
@@ -2,5 +2,3 @@
|
|||||||
title: "Login"
|
title: "Login"
|
||||||
description: "Login to Freedoms4."
|
description: "Login to Freedoms4."
|
||||||
---
|
---
|
||||||
|
|
||||||
The feature is not available yet.
|
|
||||||
|
|||||||
@@ -2,5 +2,3 @@
|
|||||||
title: "Sign Up"
|
title: "Sign Up"
|
||||||
description: "Sign up for Freedoms4."
|
description: "Sign up for Freedoms4."
|
||||||
---
|
---
|
||||||
|
|
||||||
The feature is not available yet.
|
|
||||||
|
|||||||
@@ -7,4 +7,4 @@
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>404</h1><p>The page you visited was not found.</p><p><a href=/>Return to the home page</a></p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>404</h1><p>The page you visited was not found.</p><p><a href=/>Return to the home page</a></p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -7,5 +7,6 @@
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/blog/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/blog/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a></nav><h1>All Posts | <a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2 class=home-post-title><a href=/blog/what-is-education/>What is Education?</a></h2><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><p class=summary>What is Education? # Education simply means “learning”. It’s a natural process.
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a></nav><h1>All Posts |
|
||||||
Ratio of components in Education: # 50% Knowledge/Understanding, 30% …</p><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2 class=home-post-title><a href=/blog/what-is-education/>What is Education?</a></h2><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><p class=summary>What is Education? # Education simply means “learning”. It’s a natural process.
|
||||||
|
Ratio of components in Education: # 50% Knowledge/Understanding, 30% …</p><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -8,4 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/categories/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/categories/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> | Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/categories/philosophy/>Philosophy (1)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
|
Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/categories/philosophy/>Philosophy (1)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/categories/philosophy/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/categories/philosophy/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <a href=/categories/>Categories</a>
|
› <a href=/categories/>Categories</a> › <span>Philosophy</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
› <span>Philosophy</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Philosophy</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Philosophy</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -34,4 +34,4 @@ Changelog page. Remove year from footer copyright. “Contents” style UniNotes
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/changelog/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/changelog/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>Changelog</h1><p>[25-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit12 Self.</strong></em></li></ul><p>[17-05-2026]</p><ul><li><em><strong>UniNote BO DCM1109 Unit11 Self.</strong></em></li></ul><p>[08-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit7 Self.</strong></em></li></ul><p>[02-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit6 Self.</strong></em></li></ul><p>[01-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit5 Self.</strong></em></li></ul><p>[20-04-2026]</p><ul><li><em><strong>UniNote PBM DCM1110 Unit4 Self.</strong></em></li></ul><p>[15-04-2026]</p><ul><li><em><strong>UniNote PBM DCM1110 Unit3 Self.</strong></em></li></ul><p>[15-04-2026]</p><ul><li><em><strong>UniNote BO DCM1109 Unit3 Self.</strong></em></li></ul><p>[14-04-2026]</p><ul><li><em><strong>Changelog page.</strong></em></li><li><em><strong>Remove year from footer copyright.</strong></em></li><li><em><strong>“Contents” style UniNotes page.</strong></em></li></ul></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>Changelog</h1><p>[25-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit12 Self.</strong></em></li></ul><p>[17-05-2026]</p><ul><li><em><strong>UniNote BO DCM1109 Unit11 Self.</strong></em></li></ul><p>[08-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit7 Self.</strong></em></li></ul><p>[02-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit6 Self.</strong></em></li></ul><p>[01-05-2026]</p><ul><li><em><strong>UniNote ET DCM1107 Unit5 Self.</strong></em></li></ul><p>[20-04-2026]</p><ul><li><em><strong>UniNote PBM DCM1110 Unit4 Self.</strong></em></li></ul><p>[15-04-2026]</p><ul><li><em><strong>UniNote PBM DCM1110 Unit3 Self.</strong></em></li></ul><p>[15-04-2026]</p><ul><li><em><strong>UniNote BO DCM1109 Unit3 Self.</strong></em></li></ul><p>[14-04-2026]</p><ul><li><em><strong>Changelog page.</strong></em></li><li><em><strong>Remove year from footer copyright.</strong></em></li><li><em><strong>“Contents” style UniNotes page.</strong></em></li></ul></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -7,4 +7,4 @@
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>Coming Soon</h1><p>This feature is not yet available. Check back later!</p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><h1>Coming Soon</h1><p>This feature is not yet available. Check back later!</p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -19,4 +19,4 @@ Lemmy: hyzen@lemmy.today"><meta itemprop=wordCount content="18"><link rel=styles
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><p><strong>Admin:</strong> hyzen</p><h2 class=heading id=contacts>Contacts<span class=heading__anchor> <a href=#contacts>#</a></span></h2><p><strong><a href=mailto:hyzen@freedoms4.org>Email</a> and <a href=xmpp:hyzen@freedoms4.org>XMPP</a>:</strong> <a href=mailto:hyzen@freedoms4.org>hyzen@freedoms4.org</a></p><p><strong>IRC/Liberachat:</strong> hyzen, #freedoms4</p><h2 class=heading id=follow-on>Follow on<span class=heading__anchor> <a href=#follow-on>#</a></span></h2><p><strong><a href=https://mastodon.social/@hyzen>Mastodon</a>:</strong> <a href=mailto:hyzen@mastodon.social>hyzen@mastodon.social</a></p><p><strong>Lemmy:</strong> <a href=mailto:hyzen@lemmy.today>hyzen@lemmy.today</a></p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><p><strong>Admin:</strong> hyzen</p><h2 class=heading id=contacts>Contacts<span class=heading__anchor> <a href=#contacts>#</a></span></h2><p><strong><a href=mailto:hyzen@freedoms4.org>Email</a> and <a href=xmpp:hyzen@freedoms4.org>XMPP</a>:</strong> <a href=mailto:hyzen@freedoms4.org>hyzen@freedoms4.org</a></p><p><strong>IRC/Liberachat:</strong> hyzen, #freedoms4</p><h2 class=heading id=follow-on>Follow on<span class=heading__anchor> <a href=#follow-on>#</a></span></h2><p><strong><a href=https://mastodon.social/@hyzen>Mastodon</a>:</strong> <a href=mailto:hyzen@mastodon.social>hyzen@mastodon.social</a></p><p><strong>Lemmy:</strong> <a href=mailto:hyzen@lemmy.today>hyzen@lemmy.today</a></p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/* ── Auth pages (login / signup) ───────────────────────────────────────── */
|
/* ── Auth pages (login / signup) ───────────────────────────────────────── */
|
||||||
|
|
||||||
.auth-page {
|
.auth-page {
|
||||||
@@ -89,7 +88,9 @@
|
|||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
color: var(--foreground-color);
|
color: var(--foreground-color);
|
||||||
transition: border-color 0.18s ease, box-shadow 0.18s ease;
|
transition:
|
||||||
|
border-color 0.18s ease,
|
||||||
|
box-shadow 0.18s ease;
|
||||||
outline: none;
|
outline: none;
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
}
|
}
|
||||||
@@ -163,8 +164,12 @@
|
|||||||
|
|
||||||
/* Spinner animation */
|
/* Spinner animation */
|
||||||
@keyframes auth-spin {
|
@keyframes auth-spin {
|
||||||
from { transform: rotate(0deg); }
|
from {
|
||||||
to { transform: rotate(360deg); }
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.spin {
|
.spin {
|
||||||
|
|||||||
@@ -233,10 +233,12 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
box-sizing: border-box;
|
||||||
padding: 0.355rem 0.5rem;
|
padding: 0.355rem 0.5rem;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
border: 1px solid #f26522;
|
border: 1px solid #f26522;
|
||||||
@@ -245,6 +247,7 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
font-weight: 340;
|
font-weight: 340;
|
||||||
|
font-family: inherit;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
@@ -254,21 +257,25 @@
|
|||||||
color 0.2s ease;
|
color 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle:hover {
|
.brand__auth-toggle:hover,
|
||||||
|
.brand__auth-user-btn:hover {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: #f26522;
|
border-color: #f26522;
|
||||||
color: #f26522;
|
color: #f26522;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: currentColor;
|
border-color: currentColor;
|
||||||
color: var(--foreground-color);
|
color: var(--foreground-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle:hover,
|
.brand__auth-toggle:hover,
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn:hover,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -477,13 +484,15 @@
|
|||||||
|
|
||||||
/* Default (system light): orange filled */
|
/* Default (system light): orange filled */
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: #f26522 !important;
|
background-color: #f26522 !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #f26522 !important;
|
color: #f26522 !important;
|
||||||
@@ -492,13 +501,15 @@
|
|||||||
|
|
||||||
/* System dark: outline */
|
/* System dark: outline */
|
||||||
@media (max-width: 600px) and (prefers-color-scheme: dark) {
|
@media (max-width: 600px) and (prefers-color-scheme: dark) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: currentColor !important;
|
border-color: currentColor !important;
|
||||||
color: var(--foreground-color) !important;
|
color: var(--foreground-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -507,26 +518,30 @@
|
|||||||
|
|
||||||
/* Manual light override */
|
/* Manual light override */
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
[data-theme='light'] .brand__auth-toggle {
|
[data-theme='light'] .brand__auth-toggle,
|
||||||
|
[data-theme='light'] .brand__auth-user-btn {
|
||||||
background-color: #f26522 !important;
|
background-color: #f26522 !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme='light'] .brand__auth:focus-within .brand__auth-toggle {
|
[data-theme='light'] .brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
[data-theme='light'] .brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #f26522 !important;
|
color: #f26522 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Manual dark override */
|
/* Manual dark override */
|
||||||
[data-theme='dark'] .brand__auth-toggle {
|
[data-theme='dark'] .brand__auth-toggle,
|
||||||
|
[data-theme='dark'] .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: currentColor !important;
|
border-color: currentColor !important;
|
||||||
color: var(--foreground-color) !important;
|
color: var(--foreground-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme='dark'] .brand__auth:focus-within .brand__auth-toggle {
|
[data-theme='dark'] .brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
[data-theme='dark'] .brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -878,3 +893,90 @@
|
|||||||
color: var(--foreground-color3, #888);
|
color: var(--foreground-color3, #888);
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Logged-in user button in header ───────────────────────────────────────── */
|
||||||
|
|
||||||
|
/* Hide the old checkbox toggle + login/signup links when logged in */
|
||||||
|
.brand__auth--loggedin .brand__auth-check,
|
||||||
|
.brand__auth--loggedin .brand__auth-toggle,
|
||||||
|
.brand__auth--loggedin .brand__auth-links {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user {
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extra properties needed only because the user-btn contains text */
|
||||||
|
.brand__auth-user-btn {
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: 140px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-dropdown {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(100% + 0.4rem);
|
||||||
|
right: 0;
|
||||||
|
background: var(--background-color);
|
||||||
|
border: 1px solid var(--background-color1);
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: 0 4px 16px rgba(0,0,0,0.18);
|
||||||
|
min-width: 110px;
|
||||||
|
z-index: 100;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-dropdown {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-logout {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0.55rem 1rem;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.78rem;
|
||||||
|
font-family: inherit;
|
||||||
|
color: var(--foreground-color);
|
||||||
|
transition: background 0.12s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-logout:hover {
|
||||||
|
background: var(--background-color1);
|
||||||
|
color: var(--foreground-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile logged-in state */
|
||||||
|
.brand__mobile-links .mobile-link--logout {
|
||||||
|
color: var(--foreground-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Reset native button styles + force subscribe-button dimensions on logged-in user button */
|
||||||
|
.brand__auth-user-btn {
|
||||||
|
-webkit-appearance: none !important;
|
||||||
|
appearance: none !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
min-height: 0 !important;
|
||||||
|
height: auto !important;
|
||||||
|
vertical-align: middle;
|
||||||
|
padding: 0.2rem 0.65rem !important;
|
||||||
|
border-radius: 3px !important;
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
line-height: 1.4 !important;
|
||||||
|
display: inline-flex !important;
|
||||||
|
align-items: center !important;
|
||||||
|
gap: 0.25rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-btn svg {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -32,7 +32,7 @@ Academics is good only as a concept. It&rsquo;s implementation and system is
|
|||||||
</h2><p><strong><a href="https://mastodon.social/@hyzen">Mastodon</a>:</strong> <a href="mailto:hyzen@mastodon.social">hyzen@mastodon.social</a></p>
|
</h2><p><strong><a href="https://mastodon.social/@hyzen">Mastodon</a>:</strong> <a href="mailto:hyzen@mastodon.social">hyzen@mastodon.social</a></p>
|
||||||
<p><strong>Lemmy:</strong> <a href="mailto:hyzen@lemmy.today">hyzen@lemmy.today</a></p></description></item><item><title>File share</title><link>https://freedoms4.org/services/file-share/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/services/file-share/</guid><description><p>Visit <a href="https://share.freedoms4.org" target="_blank" rel="noopener noreferrer">
|
<p><strong>Lemmy:</strong> <a href="mailto:hyzen@lemmy.today">hyzen@lemmy.today</a></p></description></item><item><title>File share</title><link>https://freedoms4.org/services/file-share/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/services/file-share/</guid><description><p>Visit <a href="https://share.freedoms4.org" target="_blank" rel="noopener noreferrer">
|
||||||
share.freedoms4.org↗
|
share.freedoms4.org↗
|
||||||
</a> to quickly upload files and get sharable links.</p></description></item><item><title>Login</title><link>https://freedoms4.org/login/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/login/</guid><description><p>The feature is not available yet.</p></description></item><item><title>Sign Up</title><link>https://freedoms4.org/signup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/signup/</guid><description><p>The feature is not available yet.</p></description></item><item><title>Unit 1</title><link>https://freedoms4.org/uninotes/s1/bo-dcm1109/unit1/self/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/uninotes/s1/bo-dcm1109/unit1/self/</guid><description><h3 class="heading" id="april-6-2026">
|
</a> to quickly upload files and get sharable links.</p></description></item><item><title>Login</title><link>https://freedoms4.org/login/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/login/</guid><description/></item><item><title>Sign Up</title><link>https://freedoms4.org/signup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/signup/</guid><description/></item><item><title>Unit 1</title><link>https://freedoms4.org/uninotes/s1/bo-dcm1109/unit1/self/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>your-email@example.com (Freedoms4)</author><guid>https://freedoms4.org/uninotes/s1/bo-dcm1109/unit1/self/</guid><description><h3 class="heading" id="april-6-2026">
|
||||||
<em><strong>April 6, 2026</strong></em><span class="heading__anchor"> <a href="#april-6-2026">#</a></span>
|
<em><strong>April 6, 2026</strong></em><span class="heading__anchor"> <a href="#april-6-2026">#</a></span>
|
||||||
</h3><h2 class="heading" id="features-and-nature-of-business">
|
</h3><h2 class="heading" id="features-and-nature-of-business">
|
||||||
Features and Nature of Business<span class="heading__anchor"> <a href="#features-and-nature-of-business">#</a></span>
|
Features and Nature of Business<span class="heading__anchor"> <a href="#features-and-nature-of-business">#</a></span>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -8,4 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/semester/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/semester/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> | Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/>S1 (16)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
|
Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/>S1 (16)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -9,4 +9,4 @@
|
|||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a>
|
||||||
› <span>File share</span></nav><h1>File share</h1><p>Visit <a href=https://share.freedoms4.org target=_blank rel="noopener noreferrer">share.freedoms4.org↗
|
› <span>File share</span></nav><h1>File share</h1><p>Visit <a href=https://share.freedoms4.org target=_blank rel="noopener noreferrer">share.freedoms4.org↗
|
||||||
</a>to quickly upload files and get sharable links.</p><nav class=page-nav><a class=page-nav__next-link href=/services/xmpp-account/>XMPP Account →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
</a>to quickly upload files and get sharable links.</p><nav class=page-nav><a class=page-nav__next-link href=/services/xmpp-account/>XMPP Account →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -7,4 +7,4 @@
|
|||||||
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
<label class=brand__mobile-toggle for=mobile-menu-check aria-label=Menu><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label><div class=brand__mobile-links><a href=/login/ class=mobile-link>Login</a>
|
||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/services/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/services/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a></nav><h1>Services</h1><ol class="uninotes-list uninotes-list--subjects"><li class=uninotes-list__item><a class=uninotes-list__link href=/services/file-share/>File share</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/services/xmpp-account/>XMPP Account</a></li></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a></nav><h1>Services</h1><ol class="uninotes-list uninotes-list--subjects"><li class=uninotes-list__item><a class=uninotes-list__link href=/services/file-share/>File share</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/services/xmpp-account/>XMPP Account</a></li></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/services/>Services</a>
|
||||||
› <span>XMPP Account</span></nav><h1>XMPP Account</h1><p>Send your desired username to <a href=mailto:hyzen@freedoms4.org>hyzen@freedoms4.org</a> via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.</p><nav class=page-nav><a class=page-nav__previous-link href=/services/file-share/>← File share</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>XMPP Account</span></nav><h1>XMPP Account</h1><p>Send your desired username to <a href=mailto:hyzen@freedoms4.org>hyzen@freedoms4.org</a> via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.</p><nav class=page-nav><a class=page-nav__previous-link href=/services/file-share/>← File share</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -8,4 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/subjectcode/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/subjectcode/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> | Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/bo-dcm1109/>BO DCM1109 (4)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/et-dcm1107/>ET DCM1107 (6)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/ge-dcm1106/>GE DCM1106 (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110 (5)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
|
Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/bo-dcm1109/>BO DCM1109 (4)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/et-dcm1107/>ET DCM1107 (6)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/ge-dcm1106/>GE DCM1106 (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110 (5)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/tags/academics/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/tags/academics/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <a href=/categories/>Categories</a>
|
› <a href=/categories/>Categories</a> › <span>Academics</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
› <span>Academics</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Academics</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Academics</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/tags/education/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/tags/education/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <a href=/categories/>Categories</a>
|
› <a href=/categories/>Categories</a> › <span>Education</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
› <span>Education</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Education</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>Education</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -8,4 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/tags/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/tags/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> | Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/tags/academics/>Academics (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/tags/education/>Education (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/tags/system/>System (1)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>Categories</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
|
Categories</h1><section class=term-list><h2 class=term-list__item><a class=term-list__link href=/tags/academics/>Academics (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/tags/education/>Education (1)</a></h2><h2 class=term-list__item><a class=term-list__link href=/tags/system/>System (1)</a></h2></section></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/tags/system/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/tags/system/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/blog/>Blog</a>
|
||||||
› <a href=/categories/>Categories</a>
|
› <a href=/categories/>Categories</a> › <span>System</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
||||||
› <span>System</span></nav><h1><a href=/blog/ style=text-decoration:none;color:var(--accent-color)>All Posts</a> |
|
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>System</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a href=/categories/ style=text-decoration:none;color:var(--accent-color)>Categories</a></h1><h2>System</h2><div style=margin-bottom:2rem></div><section class=posts-list><time class=published-date datetime=2026-03-01T18:11:14+00:00>Posted on: March 1, 2026</time><h2 class=term-post-title><a href=/blog/what-is-education/>What is Education?</a></h2></section><nav class=paginator></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -37,4 +37,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
<span class=uninotes-contents__unit-cats><a class="uninotes-contents__cat uninotes-contents__cat--self" href=/uninotes/s1/pbm-dcm1110/unit3/self/>Self</a>
|
<span class=uninotes-contents__unit-cats><a class="uninotes-contents__cat uninotes-contents__cat--self" href=/uninotes/s1/pbm-dcm1110/unit3/self/>Self</a>
|
||||||
<span class="uninotes-contents__cat uninotes-contents__cat--na">Live</span></span></li><li class=uninotes-contents__unit><a class=uninotes-contents__unit-link href=/uninotes/s1/pbm-dcm1110/unit4/>Unit 4</a>
|
<span class="uninotes-contents__cat uninotes-contents__cat--na">Live</span></span></li><li class=uninotes-contents__unit><a class=uninotes-contents__unit-link href=/uninotes/s1/pbm-dcm1110/unit4/>Unit 4</a>
|
||||||
<span class=uninotes-contents__unit-cats><a class="uninotes-contents__cat uninotes-contents__cat--self" href=/uninotes/s1/pbm-dcm1110/unit4/self/>Self</a>
|
<span class=uninotes-contents__unit-cats><a class="uninotes-contents__cat uninotes-contents__cat--self" href=/uninotes/s1/pbm-dcm1110/unit4/self/>Self</a>
|
||||||
<span class="uninotes-contents__cat uninotes-contents__cat--na">Live</span></span></li></ul></div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class="uninotes-contents__cat uninotes-contents__cat--na">Live</span></span></li></ul></div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/bo-dcm1109/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/bo-dcm1109/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <span>BO DCM1109</span></nav><h1>BO DCM1109</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit11/>Unit 11</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/>← ET DCM1107</a>
|
||||||
› <span>BO DCM1109</span></nav><h1>BO DCM1109</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/unit11/>Unit 11</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/>← ET DCM1107</a>
|
<a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
||||||
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit1/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit1/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
||||||
› <span>Unit 11</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 11</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 11</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit11/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 11</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit11/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
||||||
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit2/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit2/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,10 +11,7 @@ Secondary Sector # The Secondary Sector refines, processes and manufactures. Thi
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a> › <a href=/uninotes/s1/bo-dcm1109/unit2/>Unit 2</a> ›
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
<span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>BO DCM1109</span>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/unit2/>Unit 2</a>
|
|
||||||
› <span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#primary-sector>Primary Sector</a></li><li><a href=#secondary-sector>Secondary Sector</a></li><li><a href=#tertiary-sector>Tertiary Sector</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=primary-sector>Primary Sector<span class=heading__anchor> <a href=#primary-sector>#</a></span></h2><p>The Primary Sector comprises the delivery of raw materials up to the finished product. Industries in this sector include mining for oil, coal, iron, and other minerals; Forestry, agriculture, fish farming and land reclamation, etc.</p><h2 class=heading id=secondary-sector>Secondary Sector<span class=heading__anchor> <a href=#secondary-sector>#</a></span></h2><p>The Secondary Sector refines, processes and manufactures. This includes industries like petrochemical refineries, steel-making mills, factories for making equipment and machinery for industry and goods for consumer purchase.</p><h2 class=heading id=tertiary-sector>Tertiary Sector<span class=heading__anchor> <a href=#tertiary-sector>#</a></span></h2><p>This involves the provision of services to businesses as well as final consumers.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/unit1/>← Unit 1</a>
|
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#primary-sector>Primary Sector</a></li><li><a href=#secondary-sector>Secondary Sector</a></li><li><a href=#tertiary-sector>Tertiary Sector</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=primary-sector>Primary Sector<span class=heading__anchor> <a href=#primary-sector>#</a></span></h2><p>The Primary Sector comprises the delivery of raw materials up to the finished product. Industries in this sector include mining for oil, coal, iron, and other minerals; Forestry, agriculture, fish farming and land reclamation, etc.</p><h2 class=heading id=secondary-sector>Secondary Sector<span class=heading__anchor> <a href=#secondary-sector>#</a></span></h2><p>The Secondary Sector refines, processes and manufactures. This includes industries like petrochemical refineries, steel-making mills, factories for making equipment and machinery for industry and goods for consumer purchase.</p><h2 class=heading id=tertiary-sector>Tertiary Sector<span class=heading__anchor> <a href=#tertiary-sector>#</a></span></h2><p>This involves the provision of services to businesses as well as final consumers.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/unit1/>← Unit 1</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
||||||
› <span>Unit 3</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 3</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 3</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit3/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>BO DCM1109</span></div><h1>Unit 3</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/bo-dcm1109/unit3/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -26,15 +26,12 @@ Types of Companies # A) On the Basis of Incorporation # Chartered Companies: For
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a> › <a href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3</a> ›
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a>
|
<span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>BO DCM1109</span>
|
||||||
› <a href=/uninotes/s1/bo-dcm1109/unit3/>Unit 3</a>
|
|
||||||
› <span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>BO DCM1109</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 3</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-15-2026><em><strong>April 15, 2026</strong></em></a></li></ul></li><li><a href=#types-of-co-operatives-formed>Types of co-operatives formed</a></li><li><a href=#types-of-companies>Types of Companies</a><ul><li><a href=#a-on-the-basis-of-incorporation>A) On the Basis of Incorporation</a></li><li><a href=#b-on-the-basis-of-liability>B) On the Basis of Liability</a></li><li><a href=#c-on-the-basis-of-ownership>C) On the Basis of Ownership</a></li><li><a href=#d-on-the-basis-of-control>D) On the Basis of Control</a></li><li><a href=#e-on-the-basis-of-nationality>E) On the Basis of Nationality</a></li><li><a href=#f-on-the-basis-of-purpose>F) On the Basis of Purpose</a></li></ul></li></ul></nav></details><h3 class=heading id=april-15-2026><em><strong>April 15, 2026</strong></em><span class=heading__anchor> <a href=#april-15-2026>#</a></span></h3><h2 class=heading id=types-of-co-operatives-formed>Types of co-operatives formed<span class=heading__anchor> <a href=#types-of-co-operatives-formed>#</a></span></h2><p>A) Consumer co-operatives.<br>B) Producer co-operatives.<br>C) Marketing co-operatives.<br>D) Housing co-operatives.<br>E) Credit co-operatives.<br>F) Cooperative Farming Societies.</p><h2 class=heading id=types-of-companies>Types of Companies<span class=heading__anchor> <a href=#types-of-companies>#</a></span></h2><h3 class=heading id=a-on-the-basis-of-incorporation>A) On the Basis of Incorporation<span class=heading__anchor> <a href=#a-on-the-basis-of-incorporation>#</a></span></h3><ol><li>Chartered Companies: Formed under a Royal Charter or special charter issued by the
|
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 3</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-15-2026><em><strong>April 15, 2026</strong></em></a></li></ul></li><li><a href=#types-of-co-operatives-formed>Types of co-operatives formed</a></li><li><a href=#types-of-companies>Types of Companies</a><ul><li><a href=#a-on-the-basis-of-incorporation>A) On the Basis of Incorporation</a></li><li><a href=#b-on-the-basis-of-liability>B) On the Basis of Liability</a></li><li><a href=#c-on-the-basis-of-ownership>C) On the Basis of Ownership</a></li><li><a href=#d-on-the-basis-of-control>D) On the Basis of Control</a></li><li><a href=#e-on-the-basis-of-nationality>E) On the Basis of Nationality</a></li><li><a href=#f-on-the-basis-of-purpose>F) On the Basis of Purpose</a></li></ul></li></ul></nav></details><h3 class=heading id=april-15-2026><em><strong>April 15, 2026</strong></em><span class=heading__anchor> <a href=#april-15-2026>#</a></span></h3><h2 class=heading id=types-of-co-operatives-formed>Types of co-operatives formed<span class=heading__anchor> <a href=#types-of-co-operatives-formed>#</a></span></h2><p>A) Consumer co-operatives.<br>B) Producer co-operatives.<br>C) Marketing co-operatives.<br>D) Housing co-operatives.<br>E) Credit co-operatives.<br>F) Cooperative Farming Societies.</p><h2 class=heading id=types-of-companies>Types of Companies<span class=heading__anchor> <a href=#types-of-companies>#</a></span></h2><h3 class=heading id=a-on-the-basis-of-incorporation>A) On the Basis of Incorporation<span class=heading__anchor> <a href=#a-on-the-basis-of-incorporation>#</a></span></h3><ol><li>Chartered Companies: Formed under a Royal Charter or special charter issued by the
|
||||||
monarch (no longer applicable in India).</li><li>Statutory Companies: Created by a special Act of Parliament or State Legislature. Example:
|
monarch (no longer applicable in India).</li><li>Statutory Companies: Created by a special Act of Parliament or State Legislature. Example:
|
||||||
Reserve Bank of India (RBI), Life Insurance Corporation (LIC).</li><li>Registered Companies: Incorporated under the Companies Act, 2013. This includes almost
|
Reserve Bank of India (RBI), Life Insurance Corporation (LIC).</li><li>Registered Companies: Incorporated under the Companies Act, 2013. This includes almost
|
||||||
all modern business entities in India.</li></ol><h3 class=heading id=b-on-the-basis-of-liability>B) On the Basis of Liability<span class=heading__anchor> <a href=#b-on-the-basis-of-liability>#</a></span></h3><ol><li>Company Limited by Shares [Section 2(22)].</li><li>Company Limited by Guarantee [Section 2(21)].</li><li>Unlimited Liability Company [Section 2(92)].</li><li>Company Limited by Both Guarantee and Shares.</li></ol><h3 class=heading id=c-on-the-basis-of-ownership>C) On the Basis of Ownership<span class=heading__anchor> <a href=#c-on-the-basis-of-ownership>#</a></span></h3><ol><li>Private Company (Section 2(68)).</li><li>Public Company (Section 2(71)).</li><li>One Person Company (Section 2(62)).</li></ol><h3 class=heading id=d-on-the-basis-of-control>D) On the Basis of Control<span class=heading__anchor> <a href=#d-on-the-basis-of-control>#</a></span></h3><ol><li>Holding Company: Controls one or more subsidiaries by owning over 50% voting rights or board control.</li><li>Subsidiary Company: Controlled by another company. Example: Jaguar Land Rover
|
all modern business entities in India.</li></ol><h3 class=heading id=b-on-the-basis-of-liability>B) On the Basis of Liability<span class=heading__anchor> <a href=#b-on-the-basis-of-liability>#</a></span></h3><ol><li>Company Limited by Shares [Section 2(22)].</li><li>Company Limited by Guarantee [Section 2(21)].</li><li>Unlimited Liability Company [Section 2(92)].</li><li>Company Limited by Both Guarantee and Shares.</li></ol><h3 class=heading id=c-on-the-basis-of-ownership>C) On the Basis of Ownership<span class=heading__anchor> <a href=#c-on-the-basis-of-ownership>#</a></span></h3><ol><li>Private Company (Section 2(68)).</li><li>Public Company (Section 2(71)).</li><li>One Person Company (Section 2(62)).</li></ol><h3 class=heading id=d-on-the-basis-of-control>D) On the Basis of Control<span class=heading__anchor> <a href=#d-on-the-basis-of-control>#</a></span></h3><ol><li>Holding Company: Controls one or more subsidiaries by owning over 50% voting rights or board control.</li><li>Subsidiary Company: Controlled by another company. Example: Jaguar Land Rover
|
||||||
(subsidiary of Tata Motors).</li></ol><h3 class=heading id=e-on-the-basis-of-nationality>E) On the Basis of Nationality<span class=heading__anchor> <a href=#e-on-the-basis-of-nationality>#</a></span></h3><ol><li>Indian Company: Incorporated under the Companies Act, 2013 and managed in India.</li><li>Foreign Company (Section 2(42)): Incorporated outside India but has a place of business in India. Example: Google India Pvt. Ltd.</li></ol><h3 class=heading id=f-on-the-basis-of-purpose>F) On the Basis of Purpose<span class=heading__anchor> <a href=#f-on-the-basis-of-purpose>#</a></span></h3><ol><li>For-Profit Companies.</li><li>Non-Profit Companies (Section 8): Established for charitable, educational, or social
|
(subsidiary of Tata Motors).</li></ol><h3 class=heading id=e-on-the-basis-of-nationality>E) On the Basis of Nationality<span class=heading__anchor> <a href=#e-on-the-basis-of-nationality>#</a></span></h3><ol><li>Indian Company: Incorporated under the Companies Act, 2013 and managed in India.</li><li>Foreign Company (Section 2(42)): Incorporated outside India but has a place of business in India. Example: Google India Pvt. Ltd.</li></ol><h3 class=heading id=f-on-the-basis-of-purpose>F) On the Basis of Purpose<span class=heading__anchor> <a href=#f-on-the-basis-of-purpose>#</a></span></h3><ol><li>For-Profit Companies.</li><li>Non-Profit Companies (Section 8): Established for charitable, educational, or social
|
||||||
purposes. Profits are reinvested to promote their objectives. Example: CRY Foundation.</li></ol><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/unit2/>← Unit 2</a>
|
purposes. Profits are reinvested to promote their objectives. Example: CRY Foundation.</li></ol><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/unit2/>← Unit 2</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/unit11/>Unit 11 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/unit11/>Unit 11 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,6 +8,5 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/et-dcm1107/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/et-dcm1107/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <span>ET DCM1107</span></nav><h1>ET DCM1107</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit5/>Unit 5</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit6/>Unit 6</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit7/>Unit 7</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit12/>Unit 12</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/ge-dcm1106/>← GE DCM1106</a>
|
||||||
› <span>ET DCM1107</span></nav><h1>ET DCM1107</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit5/>Unit 5</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit6/>Unit 6</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit7/>Unit 7</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/unit12/>Unit 12</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/ge-dcm1106/>← GE DCM1106</a>
|
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/>BO DCM1109 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/bo-dcm1109/>BO DCM1109 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><div class="unit-choice__card unit-choice__card--self unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Not available</div></div><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/et-dcm1107/unit1/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit1/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/et-dcm1107/unit1/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 12</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 12</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 12</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit12/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 12</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit12/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><div class="unit-choice__card unit-choice__card--self unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Not available</div></div><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/et-dcm1107/unit2/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit2/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/et-dcm1107/unit2/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -35,11 +35,8 @@ E) Economic depression. F) Essential goods."><meta itemprop=wordCount content="7
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a> › <a href=/uninotes/s1/et-dcm1107/unit2/>Unit 2</a> ›
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
<span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>ET DCM1107</span>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/unit2/>Unit 2</a>
|
|
||||||
› <span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#types-of-utility>Types of Utility</a></li><li><a href=#law-of-deminishing-marginal-utility>Law of Deminishing Marginal Utility</a></li><li><a href=#law-of-equi-marginal-utility>Law of Equi-Marginal Utility</a></li><li><a href=#law-of-demand>Law of Demand</a></li><li><a href=#exceptions-of-law-of-demand>Exceptions of Law of Demand</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=types-of-utility>Types of Utility<span class=heading__anchor> <a href=#types-of-utility>#</a></span></h2><p>A) Form Utility<br>B) Place<br>C) Time<br>D) Possession</p><h2 class=heading id=law-of-deminishing-marginal-utility>Law of Deminishing Marginal Utility<span class=heading__anchor> <a href=#law-of-deminishing-marginal-utility>#</a></span></h2><h2 class=heading id=law-of-equi-marginal-utility>Law of Equi-Marginal Utility<span class=heading__anchor> <a href=#law-of-equi-marginal-utility>#</a></span></h2><h2 class=heading id=law-of-demand>Law of Demand<span class=heading__anchor> <a href=#law-of-demand>#</a></span></h2><p>Price and Quantity demanded for a product is inversely related.</p><h2 class=heading id=exceptions-of-law-of-demand>Exceptions of Law of Demand<span class=heading__anchor> <a href=#exceptions-of-law-of-demand>#</a></span></h2><p>A) Assumption of increase in price.<br>B) Status goods or Veblen goods.<br>C) Giffen goods.<br>D) War.<br>E) Economic depression.
|
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#types-of-utility>Types of Utility</a></li><li><a href=#law-of-deminishing-marginal-utility>Law of Deminishing Marginal Utility</a></li><li><a href=#law-of-equi-marginal-utility>Law of Equi-Marginal Utility</a></li><li><a href=#law-of-demand>Law of Demand</a></li><li><a href=#exceptions-of-law-of-demand>Exceptions of Law of Demand</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=types-of-utility>Types of Utility<span class=heading__anchor> <a href=#types-of-utility>#</a></span></h2><p>A) Form Utility<br>B) Place<br>C) Time<br>D) Possession</p><h2 class=heading id=law-of-deminishing-marginal-utility>Law of Deminishing Marginal Utility<span class=heading__anchor> <a href=#law-of-deminishing-marginal-utility>#</a></span></h2><h2 class=heading id=law-of-equi-marginal-utility>Law of Equi-Marginal Utility<span class=heading__anchor> <a href=#law-of-equi-marginal-utility>#</a></span></h2><h2 class=heading id=law-of-demand>Law of Demand<span class=heading__anchor> <a href=#law-of-demand>#</a></span></h2><p>Price and Quantity demanded for a product is inversely related.</p><h2 class=heading id=exceptions-of-law-of-demand>Exceptions of Law of Demand<span class=heading__anchor> <a href=#exceptions-of-law-of-demand>#</a></span></h2><p>A) Assumption of increase in price.<br>B) Status goods or Veblen goods.<br>C) Giffen goods.<br>D) War.<br>E) Economic depression.
|
||||||
F) Essential goods.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit1/>← Unit 1</a>
|
F) Essential goods.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit1/>← Unit 1</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit5/>Unit 5 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit5/>Unit 5 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 5</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 5</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 5</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit5/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 5</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit5/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,10 +11,7 @@ Implicit Cost # Implicit costs are not directly paid out or recorded in financia
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a> › <a href=/uninotes/s1/et-dcm1107/unit5/>Unit 5</a> ›
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
<span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>ET DCM1107</span>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/unit5/>Unit 5</a>
|
|
||||||
› <span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 5</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#may-01-2026><em><strong>May 01, 2026</strong></em></a></li></ul></li><li><a href=#explicit-cost>Explicit Cost</a></li><li><a href=#implicit-cost>Implicit Cost</a></li><li><a href=#ecnonomic-profit>Ecnonomic Profit</a></li><li><a href=#short-run-costs>Short Run Costs</a></li><li><a href=#different-types-of-cost>Different types of Cost</a></li><li><a href=#cost-function>Cost Function</a></li><li><a href=#total-cost>Total Cost</a></li><li><a href=#average-cost>Average Cost</a></li><li><a href=#marginal-cost>Marginal Cost</a></li></ul></nav></details><h3 class=heading id=may-01-2026><em><strong>May 01, 2026</strong></em><span class=heading__anchor> <a href=#may-01-2026>#</a></span></h3><h2 class=heading id=explicit-cost>Explicit Cost<span class=heading__anchor> <a href=#explicit-cost>#</a></span></h2><p>Explicit costs are direct, out-of-pocket payments that a business or individual makes for the use of resources or services. These costs are tangible, measurable, and recorded in accounting books, including expenses like rent, utility bills, wages, raw materials, and interest on borrowed capital.</p><h2 class=heading id=implicit-cost>Implicit Cost<span class=heading__anchor> <a href=#implicit-cost>#</a></span></h2><p>Implicit costs are not directly paid out or recorded in financial statements, but represent the opportunity costs of using resources owned by the firm or individual. Examples include the forgone salary if an entrepreneur works in their own business instead of being employed elsewhere, or the interest income sacrificed by investing personal funds in the business rather than elsewhere.</p><h2 class=heading id=ecnonomic-profit>Ecnonomic Profit<span class=heading__anchor> <a href=#ecnonomic-profit>#</a></span></h2><p>Economic Profit = Total Revenue − (Explicit Costs + Implicit Costs)</p><h2 class=heading id=short-run-costs>Short Run Costs<span class=heading__anchor> <a href=#short-run-costs>#</a></span></h2><p>The short run refers to a time period in which at least one factor of production (such as capital, plant size, or equipment) is fixed and cannot be easily altered. During this period, firms face two types of costs:</p><ul><li>Fixed Costs (FC): These are expenses that do not change with output—such as factory rent, salaried staff, or depreciation of machinery. They remain constant regardless of the level of production.</li><li>Variable Costs (VC): These costs fluctuate with the level of output produced, including raw materials, hourly wages, energy, and packaging. As output increases, variable costs rise; as output falls, they decline.</li></ul><p>Total Cost (TC) = Fixed Cost (FC) + Variable Cost (VC)</p><h2 class=heading id=different-types-of-cost>Different types of Cost<span class=heading__anchor> <a href=#different-types-of-cost>#</a></span></h2><p>A) Real Cost<br>B) Economic Cost<br>C) Accounting Cost<br>D) Social Cost<br>E) Private Cost<br>F) Opportunity Cost<br>G) External Cost<br>H) Replacement Cost</p><h2 class=heading id=cost-function>Cost Function<span class=heading__anchor> <a href=#cost-function>#</a></span></h2><p>𝐶 = 𝐹 + 𝑉(𝑄)<br>where F is the fixed cost, and V(Q) is the variable cost depending on the output level Q</p><h2 class=heading id=total-cost>Total Cost<span class=heading__anchor> <a href=#total-cost>#</a></span></h2><p>TC = Total Fixed Cost (TFC) + Total Variable Cost (TVC)</p><h2 class=heading id=average-cost>Average Cost<span class=heading__anchor> <a href=#average-cost>#</a></span></h2><p>AC = TC / Quantity (Q)</p><h2 class=heading id=marginal-cost>Marginal Cost<span class=heading__anchor> <a href=#marginal-cost>#</a></span></h2><p>TC = Change in Total Cost / Change in Quantity</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit2/>← Unit 2</a>
|
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 5</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#may-01-2026><em><strong>May 01, 2026</strong></em></a></li></ul></li><li><a href=#explicit-cost>Explicit Cost</a></li><li><a href=#implicit-cost>Implicit Cost</a></li><li><a href=#ecnonomic-profit>Ecnonomic Profit</a></li><li><a href=#short-run-costs>Short Run Costs</a></li><li><a href=#different-types-of-cost>Different types of Cost</a></li><li><a href=#cost-function>Cost Function</a></li><li><a href=#total-cost>Total Cost</a></li><li><a href=#average-cost>Average Cost</a></li><li><a href=#marginal-cost>Marginal Cost</a></li></ul></nav></details><h3 class=heading id=may-01-2026><em><strong>May 01, 2026</strong></em><span class=heading__anchor> <a href=#may-01-2026>#</a></span></h3><h2 class=heading id=explicit-cost>Explicit Cost<span class=heading__anchor> <a href=#explicit-cost>#</a></span></h2><p>Explicit costs are direct, out-of-pocket payments that a business or individual makes for the use of resources or services. These costs are tangible, measurable, and recorded in accounting books, including expenses like rent, utility bills, wages, raw materials, and interest on borrowed capital.</p><h2 class=heading id=implicit-cost>Implicit Cost<span class=heading__anchor> <a href=#implicit-cost>#</a></span></h2><p>Implicit costs are not directly paid out or recorded in financial statements, but represent the opportunity costs of using resources owned by the firm or individual. Examples include the forgone salary if an entrepreneur works in their own business instead of being employed elsewhere, or the interest income sacrificed by investing personal funds in the business rather than elsewhere.</p><h2 class=heading id=ecnonomic-profit>Ecnonomic Profit<span class=heading__anchor> <a href=#ecnonomic-profit>#</a></span></h2><p>Economic Profit = Total Revenue − (Explicit Costs + Implicit Costs)</p><h2 class=heading id=short-run-costs>Short Run Costs<span class=heading__anchor> <a href=#short-run-costs>#</a></span></h2><p>The short run refers to a time period in which at least one factor of production (such as capital, plant size, or equipment) is fixed and cannot be easily altered. During this period, firms face two types of costs:</p><ul><li>Fixed Costs (FC): These are expenses that do not change with output—such as factory rent, salaried staff, or depreciation of machinery. They remain constant regardless of the level of production.</li><li>Variable Costs (VC): These costs fluctuate with the level of output produced, including raw materials, hourly wages, energy, and packaging. As output increases, variable costs rise; as output falls, they decline.</li></ul><p>Total Cost (TC) = Fixed Cost (FC) + Variable Cost (VC)</p><h2 class=heading id=different-types-of-cost>Different types of Cost<span class=heading__anchor> <a href=#different-types-of-cost>#</a></span></h2><p>A) Real Cost<br>B) Economic Cost<br>C) Accounting Cost<br>D) Social Cost<br>E) Private Cost<br>F) Opportunity Cost<br>G) External Cost<br>H) Replacement Cost</p><h2 class=heading id=cost-function>Cost Function<span class=heading__anchor> <a href=#cost-function>#</a></span></h2><p>𝐶 = 𝐹 + 𝑉(𝑄)<br>where F is the fixed cost, and V(Q) is the variable cost depending on the output level Q</p><h2 class=heading id=total-cost>Total Cost<span class=heading__anchor> <a href=#total-cost>#</a></span></h2><p>TC = Total Fixed Cost (TFC) + Total Variable Cost (TVC)</p><h2 class=heading id=average-cost>Average Cost<span class=heading__anchor> <a href=#average-cost>#</a></span></h2><p>AC = TC / Quantity (Q)</p><h2 class=heading id=marginal-cost>Marginal Cost<span class=heading__anchor> <a href=#marginal-cost>#</a></span></h2><p>TC = Change in Total Cost / Change in Quantity</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit2/>← Unit 2</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit6/>Unit 6 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit6/>Unit 6 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 6</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 6</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 6</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit6/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 6</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit6/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
||||||
› <span>Unit 7</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 7</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 7</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit7/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>ET DCM1107</span></div><h1>Unit 7</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/et-dcm1107/unit7/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -26,10 +26,7 @@ Types of Revenue # A) Operating Revenue # Sales Revenue. Service Revenue. B) Gro
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a> › <a href=/uninotes/s1/et-dcm1107/unit7/>Unit 7</a> ›
|
||||||
› <a href=/uninotes/s1/et-dcm1107/>ET DCM1107</a>
|
<span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>ET DCM1107</span>
|
||||||
› <a href=/uninotes/s1/et-dcm1107/unit7/>Unit 7</a>
|
|
||||||
› <span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>ET DCM1107</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 7</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#may-08-2026><em><strong>May 08, 2026</strong></em></a></li></ul></li><li><a href=#types-of-capital>Types of Capital</a></li><li><a href=#types-of-revenue>Types of Revenue</a><ul><li><a href=#a-operating-revenue>A) Operating Revenue</a></li><li><a href=#b-gross-revenue>B) Gross Revenue</a></li><li><a href=#c-net-revenue>C) Net Revenue</a></li><li><a href=#d-deferred-revenue>D) Deferred Revenue</a></li><li><a href=#e-accrued-revenue>E) Accrued Revenue</a></li></ul></li><li><a href=#classification-of-expenditure>Classification of Expenditure</a></li><li><a href=#classification-of-receipts>Classification of Receipts</a></li><li><a href=#profitslosses>Profits/Losses</a></li><li><a href=#contingent>Contingent</a></li></ul></nav></details><h3 class=heading id=may-08-2026><em><strong>May 08, 2026</strong></em><span class=heading__anchor> <a href=#may-08-2026>#</a></span></h3><h2 class=heading id=types-of-capital>Types of Capital<span class=heading__anchor> <a href=#types-of-capital>#</a></span></h2><p>A) Owned/Borrowed Capital.<br>B) Fixed/Floating Capital.<br>C) Working Capital.<br>D) Gross Working Capital.<br>E) Net Working Capital.<br>F) Net Operating Working Capital.</p><h2 class=heading id=types-of-revenue>Types of Revenue<span class=heading__anchor> <a href=#types-of-revenue>#</a></span></h2><h3 class=heading id=a-operating-revenue>A) Operating Revenue<span class=heading__anchor> <a href=#a-operating-revenue>#</a></span></h3><ol><li>Sales Revenue.</li><li>Service Revenue.</li></ol><h3 class=heading id=b-gross-revenue>B) Gross Revenue<span class=heading__anchor> <a href=#b-gross-revenue>#</a></span></h3><p>Gross revenue, often known as gross sales, is the entire amount of money your firm makes in a given accounting period before any deductions.</p><h3 class=heading id=c-net-revenue>C) Net Revenue<span class=heading__anchor> <a href=#c-net-revenue>#</a></span></h3><p>The value of a company’s income after discounts, item returns, and business expenditures like commissions is referred to as net revenue or net sales.</p><h3 class=heading id=d-deferred-revenue>D) Deferred Revenue<span class=heading__anchor> <a href=#d-deferred-revenue>#</a></span></h3><p>The income a firm makes before providing services or commodities to a client is referred to as deferred revenue or unearned revenue.</p><h3 class=heading id=e-accrued-revenue>E) Accrued Revenue<span class=heading__anchor> <a href=#e-accrued-revenue>#</a></span></h3><p>The income earned by a firm for supplying products or services that have not yet been paid for by a client. It’s income that a company recognises but has yet to realise.</p><h2 class=heading id=classification-of-expenditure>Classification of Expenditure<span class=heading__anchor> <a href=#classification-of-expenditure>#</a></span></h2><p><strong>A) Capital Expenditure.</strong><br><strong>B) Revenue Expenditure.</strong><br><strong>C) Deferred Revenue Expenditure:</strong></p><p>Deferred revenue expenditure refers to a type of spending that is revenue in nature but whose benefits last for more than one accounting period. Although the entire amount is usually spent in a single year, it is not fully charged to the Profit & Loss Account in that year because the benefit will be enjoyed over several future periods.</p><h2 class=heading id=classification-of-receipts>Classification of Receipts<span class=heading__anchor> <a href=#classification-of-receipts>#</a></span></h2><p>A) Revenue Receipts.<br>B) Capital Receipts.</p><h2 class=heading id=profitslosses>Profits/Losses<span class=heading__anchor> <a href=#profitslosses>#</a></span></h2><p>A) Capital Profits/Losses.<br>B) Revenue Profits/Losses.</p><h2 class=heading id=contingent>Contingent<span class=heading__anchor> <a href=#contingent>#</a></span></h2><p>A) Contingent Assets.<br>B) Contingent Liabilities.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit6/>← Unit 6</a>
|
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 7</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#may-08-2026><em><strong>May 08, 2026</strong></em></a></li></ul></li><li><a href=#types-of-capital>Types of Capital</a></li><li><a href=#types-of-revenue>Types of Revenue</a><ul><li><a href=#a-operating-revenue>A) Operating Revenue</a></li><li><a href=#b-gross-revenue>B) Gross Revenue</a></li><li><a href=#c-net-revenue>C) Net Revenue</a></li><li><a href=#d-deferred-revenue>D) Deferred Revenue</a></li><li><a href=#e-accrued-revenue>E) Accrued Revenue</a></li></ul></li><li><a href=#classification-of-expenditure>Classification of Expenditure</a></li><li><a href=#classification-of-receipts>Classification of Receipts</a></li><li><a href=#profitslosses>Profits/Losses</a></li><li><a href=#contingent>Contingent</a></li></ul></nav></details><h3 class=heading id=may-08-2026><em><strong>May 08, 2026</strong></em><span class=heading__anchor> <a href=#may-08-2026>#</a></span></h3><h2 class=heading id=types-of-capital>Types of Capital<span class=heading__anchor> <a href=#types-of-capital>#</a></span></h2><p>A) Owned/Borrowed Capital.<br>B) Fixed/Floating Capital.<br>C) Working Capital.<br>D) Gross Working Capital.<br>E) Net Working Capital.<br>F) Net Operating Working Capital.</p><h2 class=heading id=types-of-revenue>Types of Revenue<span class=heading__anchor> <a href=#types-of-revenue>#</a></span></h2><h3 class=heading id=a-operating-revenue>A) Operating Revenue<span class=heading__anchor> <a href=#a-operating-revenue>#</a></span></h3><ol><li>Sales Revenue.</li><li>Service Revenue.</li></ol><h3 class=heading id=b-gross-revenue>B) Gross Revenue<span class=heading__anchor> <a href=#b-gross-revenue>#</a></span></h3><p>Gross revenue, often known as gross sales, is the entire amount of money your firm makes in a given accounting period before any deductions.</p><h3 class=heading id=c-net-revenue>C) Net Revenue<span class=heading__anchor> <a href=#c-net-revenue>#</a></span></h3><p>The value of a company’s income after discounts, item returns, and business expenditures like commissions is referred to as net revenue or net sales.</p><h3 class=heading id=d-deferred-revenue>D) Deferred Revenue<span class=heading__anchor> <a href=#d-deferred-revenue>#</a></span></h3><p>The income a firm makes before providing services or commodities to a client is referred to as deferred revenue or unearned revenue.</p><h3 class=heading id=e-accrued-revenue>E) Accrued Revenue<span class=heading__anchor> <a href=#e-accrued-revenue>#</a></span></h3><p>The income earned by a firm for supplying products or services that have not yet been paid for by a client. It’s income that a company recognises but has yet to realise.</p><h2 class=heading id=classification-of-expenditure>Classification of Expenditure<span class=heading__anchor> <a href=#classification-of-expenditure>#</a></span></h2><p><strong>A) Capital Expenditure.</strong><br><strong>B) Revenue Expenditure.</strong><br><strong>C) Deferred Revenue Expenditure:</strong></p><p>Deferred revenue expenditure refers to a type of spending that is revenue in nature but whose benefits last for more than one accounting period. Although the entire amount is usually spent in a single year, it is not fully charged to the Profit & Loss Account in that year because the benefit will be enjoyed over several future periods.</p><h2 class=heading id=classification-of-receipts>Classification of Receipts<span class=heading__anchor> <a href=#classification-of-receipts>#</a></span></h2><p>A) Revenue Receipts.<br>B) Capital Receipts.</p><h2 class=heading id=profitslosses>Profits/Losses<span class=heading__anchor> <a href=#profitslosses>#</a></span></h2><p>A) Capital Profits/Losses.<br>B) Revenue Profits/Losses.</p><h2 class=heading id=contingent>Contingent<span class=heading__anchor> <a href=#contingent>#</a></span></h2><p>A) Contingent Assets.<br>B) Contingent Liabilities.</p><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/et-dcm1107/unit6/>← Unit 6</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit12/>Unit 12 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/unit12/>Unit 12 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/fa-dcm1108/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/fa-dcm1108/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>FA DCM1108</span></nav><h1>FA DCM1108</h1><ul class="uninotes-list uninotes-list--units"></ul></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>FA DCM1108</span></nav><h1>FA DCM1108</h1><ul class="uninotes-list uninotes-list--units"></ul></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,5 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/ge-dcm1106/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/ge-dcm1106/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <span>GE DCM1106</span></nav><h1>GE DCM1106</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/ge-dcm1106/unit1/>Unit 1</a></li></ul><nav class=page-nav><a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/>ET DCM1107 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
› <span>GE DCM1106</span></nav><h1>GE DCM1106</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/ge-dcm1106/unit1/>Unit 1</a></li></ul><nav class=page-nav><a class=page-nav__next-link href=/uninotes/s1/et-dcm1107/>ET DCM1107 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -38,9 +38,6 @@ K) Contemporary Perspective."><meta itemprop=wordCount content="38"><meta itempr
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/ge-dcm1106/>GE DCM1106</a> › <a href=/uninotes/s1/ge-dcm1106/unit1/>Unit 1</a> ›
|
||||||
› <a href=/uninotes/s1/ge-dcm1106/>GE DCM1106</a>
|
<span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>GE DCM1106</span>
|
||||||
› <a href=/uninotes/s1/ge-dcm1106/unit1/>Unit 1</a>
|
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 1</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#theories-on-the-origin-of-language>Theories on the Origin of Language</a><ul><li><a href=#types-of-theories>Types of Theories</a></li></ul></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=theories-on-the-origin-of-language>Theories on the Origin of Language<span class=heading__anchor> <a href=#theories-on-the-origin-of-language>#</a></span></h2><h3 class=heading id=types-of-theories>Types of Theories<span class=heading__anchor> <a href=#types-of-theories>#</a></span></h3><p>A) Divine.<br>B) Bow-Bow.<br>C) Pooh-Pooh.<br>D) Ding-Dong.<br>E) Gesture.<br>F) Yo-He-Ho.<br>G) Musical.<br>H) Tool-Making.<br>I) Evolutionary.<br>J) Symbolic.<br>K) Contemporary Perspective.</p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
› <span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>GE DCM1106</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 1</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#theories-on-the-origin-of-language>Theories on the Origin of Language</a><ul><li><a href=#types-of-theories>Types of Theories</a></li></ul></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=theories-on-the-origin-of-language>Theories on the Origin of Language<span class=heading__anchor> <a href=#theories-on-the-origin-of-language>#</a></span></h2><h3 class=heading id=types-of-theories>Types of Theories<span class=heading__anchor> <a href=#types-of-theories>#</a></span></h3><p>A) Divine.<br>B) Bow-Bow.<br>C) Pooh-Pooh.<br>D) Ding-Dong.<br>E) Gesture.<br>F) Yo-He-Ho.<br>G) Musical.<br>H) Tool-Making.<br>I) Evolutionary.<br>J) Symbolic.<br>K) Contemporary Perspective.</p></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S1</span></nav><h1>S1</h1><ol class="uninotes-list uninotes-list--subjects"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/>ET DCM1107</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/ge-dcm1106/>GE DCM1106</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a></li></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S1</span></nav><h1>S1</h1><ol class="uninotes-list uninotes-list--subjects"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/bo-dcm1109/>BO DCM1109</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/et-dcm1107/>ET DCM1107</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/ge-dcm1106/>GE DCM1106</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a></li></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,5 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s1/pbm-dcm1110/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s1/pbm-dcm1110/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <span>PBM DCM1110</span></nav><h1>PBM DCM1110</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit3/>Unit 3</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit4/>Unit 4</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/>← BO DCM1109</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
› <span>PBM DCM1110</span></nav><h1>PBM DCM1110</h1><ul class="uninotes-list uninotes-list--units"><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit1/>Unit 1</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit3/>Unit 3</a></li><li class=uninotes-list__item><a class=uninotes-list__link href=/uninotes/s1/pbm-dcm1110/unit4/>Unit 4</a></li></ul><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/bo-dcm1109/>← BO DCM1109</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
||||||
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 1</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit1/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/pbm-dcm1110/unit1/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 1</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit1/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><a class="unit-choice__card unit-choice__card--live" href=/uninotes/s1/pbm-dcm1110/unit1/live/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Live class notes</div></a></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,9 +8,6 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a> › <a href=/uninotes/s1/pbm-dcm1110/unit1/>Unit 1</a> ›
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
<span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>PBM DCM1110</span>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/unit1/>Unit 1</a>
|
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 1</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#introduction>Introduction</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=introduction>Introduction<span class=heading__anchor> <a href=#introduction>#</a></span></h2><p>Management is a process where is an environment is developed to achieve the predefined goals and objectives through planning, organising, directing and controlling.</p><nav class=page-nav><a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
› <span>Live</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--live">Live</span></div><h1>Unit 1</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#introduction>Introduction</a></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=introduction>Introduction<span class=heading__anchor> <a href=#introduction>#</a></span></h2><p>Management is a process where is an environment is developed to achieve the predefined goals and objectives through planning, organising, directing and controlling.</p><nav class=page-nav><a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
||||||
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 2</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit2/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 2</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit2/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,11 +11,8 @@ Educating every employee of the organisation. Looking after the long-term profes
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a> › <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a> › <a href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2</a> ›
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
<span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span> <span class=uninotes-meta__pill>PBM DCM1110</span>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/unit2/>Unit 2</a>
|
|
||||||
› <span>Self</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span>
|
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#behaviors-of-managers>Behaviors of Managers</a><ul><li><a href=#a-coaching-managers>A) Coaching managers</a></li><li><a href=#b-authoritative-managers>B) Authoritative managers</a></li><li><a href=#c-results-based-managers>C) Results-based managers</a></li><li><a href=#d-strategic-managers>D) Strategic managers</a></li><li><a href=#e-proactive-managers>E) Proactive managers</a></li><li><a href=#f-laissez-faire-managers>F) Laissez-faire managers</a></li><li><a href=#g-democratic-managers>G) Democratic managers</a></li><li><a href=#h-visionary-managers>H) Visionary managers</a></li><li><a href=#i-transformational-managers>I) Transformational managers</a></li><li><a href=#j-charismatic-managers>J) Charismatic managers</a></li></ul></li><li><a href=#characteristics-of-managers>Characteristics of Managers</a></li><li><a href=#managerial-skills>Managerial Skills</a><ul><li><a href=#a-conceptual-skills>A) Conceptual Skills</a></li><li><a href=#b-human-skills>B) Human Skills</a></li><li><a href=#c-technical-skills>C) Technical Skills</a></li></ul></li><li><a href=#roles-of-a-manager>Roles of a Manager</a><ul><li><a href=#a-interpersonal-roles>A) Interpersonal Roles</a></li><li><a href=#b-informational-roles>B) Informational Roles</a></li><li><a href=#c-decisional-roles>C) Decisional Roles</a></li></ul></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=behaviors-of-managers>Behaviors of Managers<span class=heading__anchor> <a href=#behaviors-of-managers>#</a></span></h2><h3 class=heading id=a-coaching-managers>A) Coaching managers<span class=heading__anchor> <a href=#a-coaching-managers>#</a></span></h3><p>Coaching managers usually take on a teacher-like role, and they have an excellent understanding of
|
<span class="uninotes-meta__pill uninotes-meta__pill--self">Self</span></div><h1>Unit 2</h1><details class=toc><summary class=toc__summary>Table of Contents</summary><nav id=TableOfContents><ul><li><ul><li><a href=#april-12-2026><em><strong>April 12, 2026</strong></em></a></li></ul></li><li><a href=#behaviors-of-managers>Behaviors of Managers</a><ul><li><a href=#a-coaching-managers>A) Coaching managers</a></li><li><a href=#b-authoritative-managers>B) Authoritative managers</a></li><li><a href=#c-results-based-managers>C) Results-based managers</a></li><li><a href=#d-strategic-managers>D) Strategic managers</a></li><li><a href=#e-proactive-managers>E) Proactive managers</a></li><li><a href=#f-laissez-faire-managers>F) Laissez-faire managers</a></li><li><a href=#g-democratic-managers>G) Democratic managers</a></li><li><a href=#h-visionary-managers>H) Visionary managers</a></li><li><a href=#i-transformational-managers>I) Transformational managers</a></li><li><a href=#j-charismatic-managers>J) Charismatic managers</a></li></ul></li><li><a href=#characteristics-of-managers>Characteristics of Managers</a></li><li><a href=#managerial-skills>Managerial Skills</a><ul><li><a href=#a-conceptual-skills>A) Conceptual Skills</a></li><li><a href=#b-human-skills>B) Human Skills</a></li><li><a href=#c-technical-skills>C) Technical Skills</a></li></ul></li><li><a href=#roles-of-a-manager>Roles of a Manager</a><ul><li><a href=#a-interpersonal-roles>A) Interpersonal Roles</a></li><li><a href=#b-informational-roles>B) Informational Roles</a></li><li><a href=#c-decisional-roles>C) Decisional Roles</a></li></ul></li></ul></nav></details><h3 class=heading id=april-12-2026><em><strong>April 12, 2026</strong></em><span class=heading__anchor> <a href=#april-12-2026>#</a></span></h3><h2 class=heading id=behaviors-of-managers>Behaviors of Managers<span class=heading__anchor> <a href=#behaviors-of-managers>#</a></span></h2><h3 class=heading id=a-coaching-managers>A) Coaching managers<span class=heading__anchor> <a href=#a-coaching-managers>#</a></span></h3><p>Coaching managers usually take on a teacher-like role, and they have an excellent understanding of
|
||||||
the different stages of professional development. They love to motivate their employees to improve.
|
the different stages of professional development. They love to motivate their employees to improve.
|
||||||
They do this by helping them build strong personal relationships. Some of the most common
|
They do this by helping them build strong personal relationships. Some of the most common
|
||||||
@@ -57,4 +54,4 @@ manpower among different departments or projects. Effective allocation ensures t
|
|||||||
are met and the organisation runs efficiently.</p></li><li><p>Negotiator: The manager represents the organisation in negotiations with employees, suppliers,
|
are met and the organisation runs efficiently.</p></li><li><p>Negotiator: The manager represents the organisation in negotiations with employees, suppliers,
|
||||||
customers, or other external parties. They work to reach agreements that are beneficial for both
|
customers, or other external parties. They work to reach agreements that are beneficial for both
|
||||||
the organisation and its stakeholders.</p></li></ol><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/pbm-dcm1110/unit1/>← Unit 1</a>
|
the organisation and its stakeholders.</p></li></ol><nav class=page-nav><a class=page-nav__previous-link href=/uninotes/s1/pbm-dcm1110/unit1/>← Unit 1</a>
|
||||||
<a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/unit3/>Unit 3 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<a class=page-nav__next-link href=/uninotes/s1/pbm-dcm1110/unit3/>Unit 3 →</a></nav></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
||||||
› <span>Unit 3</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 3</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 3</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit3/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 3</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit3/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -11,4 +11,4 @@ Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu_
|
|||||||
› <a href=/uninotes/s1/>S1</a>
|
› <a href=/uninotes/s1/>S1</a>
|
||||||
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
› <a href=/uninotes/s1/pbm-dcm1110/>PBM DCM1110</a>
|
||||||
› <span>Unit 4</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
› <span>Unit 4</span></nav><div class=uninotes-meta><span class=uninotes-meta__pill>S1</span>
|
||||||
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 4</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit4/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
<span class=uninotes-meta__pill>PBM DCM1110</span></div><h1>Unit 4</h1><p class=unit-choice__subtitle>Choose type:</p><div class=unit-choice__options><a class="unit-choice__card unit-choice__card--self" href=/uninotes/s1/pbm-dcm1110/unit4/self/><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg></div><div class=unit-choice__label>Self</div><div class=unit-choice__desc>Self-study notes</div></a><div class="unit-choice__card unit-choice__card--live unit-choice__card--unavailable"><div class=unit-choice__icon><svg viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M17 10.5V7c0-.55-.45-1-1-1H4c-.55.0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55.0 1-.45 1-1v-3.5l4 4v-11l-4 4z"/></svg></div><div class=unit-choice__label>Live</div><div class=unit-choice__desc>Not available</div></div></div></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s2/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s2/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S2</span></nav><h1>S2</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S2</span></nav><h1>S2</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s3/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s3/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S3</span></nav><h1>S3</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S3</span></nav><h1>S3</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s4/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s4/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S4</span></nav><h1>S4</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S4</span></nav><h1>S4</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s5/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s5/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S5</span></nav><h1>S5</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S5</span></nav><h1>S5</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
<a href=/signup/ class=mobile-link>Sign Up</a>
|
<a href=/signup/ class=mobile-link>Sign Up</a>
|
||||||
<a href=/uninotes/s6/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
<a href=/uninotes/s6/index.xml class="mobile-link mobile-link--subscribe"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18.0 012.18 2.18c0 1.19-.98 2.18-2.18 2.18C4.98 20 4 19.01 4 17.82a2.18 2.18.0 012.18-2.18M4 4.44A15.56 15.56.0 0119.56 20h-2.83A12.73 12.73.0 004 7.27V4.44m0 5.66a9.9 9.9.0 019.9 9.9h-2.83A7.07 7.07.0 004 12.93V10.1z"/></svg>
|
||||||
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
Subscribe</a></div></div></div></div><nav class="menu language"><ul class="menu__list language__list"><li class=menu__item><a class=menu__link href=/>Home</a></li><li class=menu__item><a class=menu__link href=/blog/>Blog</a></li><li class=menu__item><a class=menu__link href=/services/>Services</a></li><li class=menu__item><a class=menu__link href=/uninotes/>UniNotes</a></li><li class=menu__item><a class=menu__link href=/contact/>Contact</a></li></ul></nav></header><main class=main><nav class="uninotes-breadcrumbs breadcrumbs"><a href=/uninotes/>UniNotes</a>
|
||||||
› <span>S6</span></nav><h1>S6</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
› <span>S6</span></nav><h1>S6</h1><ol class="uninotes-list uninotes-list--subjects"></ol></main><footer class=footer><p class=footer__copyright-notice>© <a href=https://freedoms4.org>freedoms4.org</a> <a href=/changelog/>Changelog</a></p><p class=footer__theme-info>Built with <a href=https://gohugo.io>Hugo</a> and based on <a href=https://github.com/CyrusYip/hugo-theme-yue>Yue</a> theme</p></footer><script>(function(){var e=document.getElementById("theme-toggle");if(!e)return;function t(){var e=localStorage.getItem("theme");return e?e:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function n(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)}n(t()),e.addEventListener("click",function(){var e=document.documentElement.getAttribute("data-theme")||t();n(e==="dark"?"light":"dark")})})()</script><script>(function(){var n="https://backend.freedoms4.org/auth.php",e=localStorage.getItem("f4_username");if(!e)return;function s(e){var n,s,o,i,a,r,l,c=document.querySelector(".brand__auth--desktop");c&&(c.classList.add("brand__auth--loggedin"),n=document.createElement("div"),n.className="brand__auth-user",s=document.createElement("button"),s.className="brand__auth-user-btn",s.setAttribute("aria-label","Account menu"),l=document.createElement("span"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>',s.appendChild(l.firstChild),s.appendChild(document.createTextNode(" "+e)),r=document.createElement("div"),r.className="brand__auth-user-dropdown",i=document.createElement("button"),i.className="brand__auth-user-logout",i.textContent="Log Out",i.addEventListener("click",t),r.appendChild(i),n.appendChild(s),n.appendChild(r),c.appendChild(n),s.addEventListener("click",function(e){e.stopPropagation(),n.classList.toggle("is-open")}),document.addEventListener("click",function(){n.classList.remove("is-open")})),a=document.querySelector(".brand__mobile-links"),a&&(a.querySelectorAll("a.mobile-link").forEach(function(e){(e.href.indexOf("/login/")!==-1||e.href.indexOf("/signup/")!==-1)&&e.remove()}),o=document.createElement("button"),o.className="mobile-link mobile-link--logout",o.textContent="Log Out ("+e+")",o.style.cssText="background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;",o.addEventListener("click",t),a.insertBefore(o,a.firstChild))}function t(){fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({action:"logout"})}).finally(function(){localStorage.removeItem("f4_username"),window.location.href="/"})}s(e)})()</script><script>(function(){var e=document.getElementById("mobile-menu-check");if(!e)return;document.addEventListener("click",function(t){if(!e.checked)return;var n=e.closest(".brand__mobile-menu");n&&!n.contains(t.target)&&(e.checked=!1)})})()</script></body></html>
|
||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,13 +6,8 @@
|
|||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ partial "page/author.html" . }}
|
{{ partial "page/author.html" . }} {{ partial "main/dates.html" . }} {{ partial
|
||||||
{{ partial "main/dates.html" . }}
|
"page/translation_list.html" . }} {{ partial "page/toc.html" . }} {{ .Content }} {{ partial
|
||||||
{{ partial "page/translation_list.html" . }}
|
"page/terms.html" (dict "taxonomy" "tags" "page" .) }} {{ partial "page/terms.html" (dict "taxonomy"
|
||||||
{{ partial "page/toc.html" . }}
|
"categories" "page" .) }} {{ partial "page/page_nav.html" . }} {{ partial "page/page-end.html" . }}
|
||||||
{{ .Content }}
|
|
||||||
{{ partial "page/terms.html" (dict "taxonomy" "tags" "page" .) }}
|
|
||||||
{{ partial "page/terms.html" (dict "taxonomy" "categories" "page" .) }}
|
|
||||||
{{ partial "page/page_nav.html" . }}
|
|
||||||
{{ partial "page/page-end.html" . }}
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,39 +1,33 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }} {{ $paginator :=
|
||||||
|
.Paginate .Pages.ByDate.Reverse $sectionPagerSize }}
|
||||||
{{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }}
|
|
||||||
{{ $paginator := .Paginate .Pages.ByDate.Reverse $sectionPagerSize }}
|
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/blog/">Blog</a>
|
<a href="/blog/">Blog</a>
|
||||||
› <a href="/categories/">Categories</a>
|
› <a href="/categories/">Categories</a> › <span>{{ .Title }}</span> {{ if gt
|
||||||
› <span>{{ .Title }}</span>
|
$paginator.TotalPages 1 }} ›
|
||||||
{{ if gt $paginator.TotalPages 1 }}
|
<span>Page {{ $paginator.PageNumber }} of {{ $paginator.TotalPages }}</span>
|
||||||
› <span>Page {{ $paginator.PageNumber }} of {{ $paginator.TotalPages }}</span>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
<a href="/blog/" style="text-decoration: none; color: var(--accent-color);">All Posts</a> |
|
<a href="/blog/" style="text-decoration: none; color: var(--accent-color)">All Posts</a> |
|
||||||
<a href="/categories/" style="text-decoration: none; color: var(--accent-color);">Categories</a>
|
<a href="/categories/" style="text-decoration: none; color: var(--accent-color)">Categories</a>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<h2>{{ .Title }}</h2>
|
<h2>{{ .Title }}</h2>
|
||||||
|
|
||||||
<div style="margin-bottom: 2rem;"></div>
|
<div style="margin-bottom: 2rem"></div>
|
||||||
|
|
||||||
<section class="posts-list">
|
<section class="posts-list">
|
||||||
{{ range $paginator.Pages }}
|
{{ range $paginator.Pages }} {{ partial "main/dates.html" . }}
|
||||||
{{ partial "main/dates.html" . }}
|
|
||||||
<h2 class="term-post-title">
|
<h2 class="term-post-title">
|
||||||
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||||
</h2>
|
</h2>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<nav class="paginator">
|
<nav class="paginator">{{- partial "pagination.html" . }}</nav>
|
||||||
{{- partial "pagination.html" . }}
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -22,6 +22,90 @@
|
|||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
var BACKEND = 'https://backend.freedoms4.org/auth.php';
|
||||||
|
var username = localStorage.getItem('f4_username');
|
||||||
|
if (!username) return;
|
||||||
|
|
||||||
|
function applyLoggedIn(uname) {
|
||||||
|
// ── Desktop ──────────────────────────────────────────────────────────
|
||||||
|
var authDesktop = document.querySelector('.brand__auth--desktop');
|
||||||
|
if (authDesktop) {
|
||||||
|
authDesktop.classList.add('brand__auth--loggedin');
|
||||||
|
|
||||||
|
// Build user button + dropdown
|
||||||
|
var userWrap = document.createElement('div');
|
||||||
|
userWrap.className = 'brand__auth-user';
|
||||||
|
|
||||||
|
var userBtn = document.createElement('button');
|
||||||
|
userBtn.className = 'brand__auth-user-btn';
|
||||||
|
userBtn.setAttribute('aria-label', 'Account menu');
|
||||||
|
|
||||||
|
var iconSvg = document.createElement('span');
|
||||||
|
iconSvg.innerHTML =
|
||||||
|
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>';
|
||||||
|
userBtn.appendChild(iconSvg.firstChild);
|
||||||
|
userBtn.appendChild(document.createTextNode('\u00a0' + uname));
|
||||||
|
|
||||||
|
var dropdown = document.createElement('div');
|
||||||
|
dropdown.className = 'brand__auth-user-dropdown';
|
||||||
|
|
||||||
|
var logoutBtn = document.createElement('button');
|
||||||
|
logoutBtn.className = 'brand__auth-user-logout';
|
||||||
|
logoutBtn.textContent = 'Log Out';
|
||||||
|
logoutBtn.addEventListener('click', doLogout);
|
||||||
|
|
||||||
|
dropdown.appendChild(logoutBtn);
|
||||||
|
userWrap.appendChild(userBtn);
|
||||||
|
userWrap.appendChild(dropdown);
|
||||||
|
authDesktop.appendChild(userWrap);
|
||||||
|
|
||||||
|
// Toggle dropdown on button click
|
||||||
|
userBtn.addEventListener('click', function (e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
userWrap.classList.toggle('is-open');
|
||||||
|
});
|
||||||
|
document.addEventListener('click', function () {
|
||||||
|
userWrap.classList.remove('is-open');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ── Mobile ────────────────────────────────────────────────────────────
|
||||||
|
var mobileLinks = document.querySelector('.brand__mobile-links');
|
||||||
|
if (mobileLinks) {
|
||||||
|
// Remove Login / Sign Up links
|
||||||
|
mobileLinks.querySelectorAll('a.mobile-link').forEach(function (a) {
|
||||||
|
if (a.href.indexOf('/login/') !== -1 || a.href.indexOf('/signup/') !== -1) {
|
||||||
|
a.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Add logout link
|
||||||
|
var mLogout = document.createElement('button');
|
||||||
|
mLogout.className = 'mobile-link mobile-link--logout';
|
||||||
|
mLogout.textContent = 'Log Out (' + uname + ')';
|
||||||
|
mLogout.style.cssText =
|
||||||
|
'background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;width:100%;';
|
||||||
|
mLogout.addEventListener('click', doLogout);
|
||||||
|
mobileLinks.insertBefore(mLogout, mobileLinks.firstChild);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function doLogout() {
|
||||||
|
fetch(BACKEND, {
|
||||||
|
method: 'POST',
|
||||||
|
headers: { 'Content-Type': 'application/json' },
|
||||||
|
credentials: 'include',
|
||||||
|
body: JSON.stringify({ action: 'logout' }),
|
||||||
|
}).finally(function () {
|
||||||
|
localStorage.removeItem('f4_username');
|
||||||
|
window.location.href = '/';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
applyLoggedIn(username);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
var check = document.getElementById('mobile-menu-check');
|
var check = document.getElementById('mobile-menu-check');
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
<p class="footer__copyright-notice">© <a href="https://freedoms4.org">freedoms4.org</a> <a href="/changelog/">Changelog</a></p>
|
<p class="footer__copyright-notice">
|
||||||
|
© <a href="https://freedoms4.org">freedoms4.org</a> <a href="/changelog/">Changelog</a>
|
||||||
|
</p>
|
||||||
|
|||||||
@@ -62,7 +62,6 @@
|
|||||||
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
|
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }} {{ end }}
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
|
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }} {{ end }}
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }} {{ end }}
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -1,5 +1 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ .Content }} {{ end }}
|
||||||
|
|
||||||
{{ .Content }}
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ .Content }} {{ end }}
|
||||||
{{ .Content }}
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<div id="auth-message" class="auth-message" aria-live="polite" style="display: none"></div>
|
<div id="auth-message" class="auth-message" aria-live="polite" style="display: none"></div>
|
||||||
|
|
||||||
<form id="login-form" class="auth-form" novalidate>
|
<form id="login-form" class="auth-form" novalidate>
|
||||||
|
<div class="auth-form__input-wrap">
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
<label class="auth-form__label" for="login-username">Username</label>
|
<label class="auth-form__label" for="login-username">Username</label>
|
||||||
<input
|
<input
|
||||||
@@ -15,13 +16,11 @@
|
|||||||
name="username"
|
name="username"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
required
|
required
|
||||||
placeholder="your_username"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
<label class="auth-form__label" for="login-password">Password</label>
|
<label class="auth-form__label" for="login-password">Password</label>
|
||||||
<div class="auth-form__input-wrap">
|
|
||||||
<input
|
<input
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
type="password"
|
type="password"
|
||||||
@@ -29,11 +28,38 @@
|
|||||||
name="password"
|
name="password"
|
||||||
autocomplete="current-password"
|
autocomplete="current-password"
|
||||||
required
|
required
|
||||||
placeholder="••••••••"
|
|
||||||
/>
|
/>
|
||||||
<button type="button" class="auth-form__eye" aria-label="Toggle password visibility" tabindex="-1">
|
<button
|
||||||
<svg class="eye-show" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
|
type="button"
|
||||||
<svg class="eye-hide" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" style="display:none"><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"/></svg>
|
class="auth-form__eye"
|
||||||
|
aria-label="Toggle password visibility"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="eye-show"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="eye-hide"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
style="display: none"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -41,7 +67,18 @@
|
|||||||
<button type="submit" class="auth-form__submit" id="login-submit">
|
<button type="submit" class="auth-form__submit" id="login-submit">
|
||||||
<span class="auth-form__submit-text">Log In</span>
|
<span class="auth-form__submit-text">Log In</span>
|
||||||
<span class="auth-form__submit-loader" style="display: none">
|
<span class="auth-form__submit-loader" style="display: none">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="spin"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
class="spin"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -95,13 +132,18 @@
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
credentials: 'include',
|
credentials: 'include',
|
||||||
body: JSON.stringify({ action: 'login', username: username, password: password })
|
body: JSON.stringify({ action: 'login', username: username, password: password }),
|
||||||
|
})
|
||||||
|
.then(function (r) {
|
||||||
|
return r.json();
|
||||||
})
|
})
|
||||||
.then(function (r) { return r.json(); })
|
|
||||||
.then(function (data) {
|
.then(function (data) {
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
showMsg('Logged in successfully! Redirecting\u2026', 'success');
|
showMsg('Logged in successfully! Redirecting\u2026', 'success');
|
||||||
setTimeout(function () { window.location.href = data.redirect || '/'; }, 1000);
|
localStorage.setItem('f4_username', username);
|
||||||
|
setTimeout(function () {
|
||||||
|
window.location.href = data.redirect || '/';
|
||||||
|
}, 1000);
|
||||||
} else {
|
} else {
|
||||||
showMsg(data.message || 'Login failed. Please try again.', 'error');
|
showMsg(data.message || 'Login failed. Please try again.', 'error');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,23 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ $pages := .Pages }} {{ $sectionPagerSize := or site.Params.sectionPagerSize
|
||||||
{{ $pages := .Pages }}
|
10 }} {{ $paginator := .Paginate $pages $sectionPagerSize }}
|
||||||
{{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }}
|
|
||||||
{{ $paginator := .Paginate $pages $sectionPagerSize }}
|
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/blog/">Blog</a>
|
<a href="/blog/">Blog</a>
|
||||||
{{ if gt $paginator.TotalPages 1 }}
|
{{ if gt $paginator.TotalPages 1 }} ›
|
||||||
› <span>Page {{ $paginator.PageNumber }} of {{ $paginator.TotalPages }}</span>
|
<span>Page {{ $paginator.PageNumber }} of {{ $paginator.TotalPages }}</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
<h1>All Posts | <a href="/categories/" style="text-decoration: none; color: var(--accent-color);">Categories</a></h1>
|
<h1>
|
||||||
|
All Posts |
|
||||||
|
<a href="/categories/" style="text-decoration: none; color: var(--accent-color)">Categories</a>
|
||||||
|
</h1>
|
||||||
{{ range $paginator.Pages }}
|
{{ range $paginator.Pages }}
|
||||||
<h2 class="home-post-title"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
<h2 class="home-post-title"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
||||||
{{ partial "main/dates.html" . }}
|
{{ partial "main/dates.html" . }} {{ with .Summary }} {{- /* Create deterministic summary output for
|
||||||
{{ with .Summary }}
|
styling. See https://github.com/gohugoio/hugo/issues/8910 */ -}}
|
||||||
{{- /*
|
|
||||||
Create deterministic summary output for styling.
|
|
||||||
See https://github.com/gohugoio/hugo/issues/8910
|
|
||||||
*/ -}}
|
|
||||||
<p class="summary">{{ . | plainify | htmlUnescape | chomp | truncate 150 }}</p>
|
<p class="summary">{{ . | plainify | htmlUnescape | chomp | truncate 150 }}</p>
|
||||||
{{- end }}
|
{{- end }} {{ end }}
|
||||||
{{ end }}
|
<nav class="paginator">{{- partial "pagination.html" . }} {{/* embedded template */}}</nav>
|
||||||
<nav class="paginator">
|
|
||||||
{{- partial "pagination.html" . }} {{/* embedded template */}}
|
|
||||||
</nav>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ $semesterName := .Title }}
|
||||||
|
|
||||||
{{ $semesterName := .Title }}
|
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/uninotes/">UniNotes</a>
|
<a href="/uninotes/">UniNotes</a>
|
||||||
@@ -9,25 +7,14 @@
|
|||||||
|
|
||||||
<h1>{{ $semesterName }}</h1>
|
<h1>{{ $semesterName }}</h1>
|
||||||
|
|
||||||
{{/* Collect unique subject codes from posts in this semester */}}
|
{{/* Collect unique subject codes from posts in this semester */}} {{ $subjectCodes := slice }} {{
|
||||||
{{ $subjectCodes := slice }}
|
range .Pages }} {{ $raw := .Params.subjectcode }} {{ $code := "" }} {{ if reflect.IsSlice $raw }} {{
|
||||||
{{ range .Pages }}
|
$code = index $raw 0 }} {{ else }} {{ $code = $raw }} {{ end }} {{ if and $code (not (in
|
||||||
{{ $raw := .Params.subjectcode }}
|
$subjectCodes $code)) }} {{ $subjectCodes = $subjectCodes | append $code }} {{ end }} {{ end }} {{
|
||||||
{{ $code := "" }}
|
$subjectCodes = sort $subjectCodes }}
|
||||||
{{ if reflect.IsSlice $raw }}
|
|
||||||
{{ $code = index $raw 0 }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $code = $raw }}
|
|
||||||
{{ end }}
|
|
||||||
{{ if and $code (not (in $subjectCodes $code)) }}
|
|
||||||
{{ $subjectCodes = $subjectCodes | append $code }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $subjectCodes = sort $subjectCodes }}
|
|
||||||
|
|
||||||
<ol class="uninotes-list uninotes-list--subjects">
|
<ol class="uninotes-list uninotes-list--subjects">
|
||||||
{{ range $subjectCodes }}
|
{{ range $subjectCodes }} {{ $tp := site.GetPage (printf "/subjectcode/%s" (. | urlize)) }}
|
||||||
{{ $tp := site.GetPage (printf "/subjectcode/%s" (. | urlize)) }}
|
|
||||||
<li class="uninotes-list__item">
|
<li class="uninotes-list__item">
|
||||||
{{ if $tp }}
|
{{ if $tp }}
|
||||||
<a class="uninotes-list__link" href="{{ $tp.RelPermalink }}">{{ . }}</a>
|
<a class="uninotes-list__link" href="{{ $tp.RelPermalink }}">{{ . }}</a>
|
||||||
@@ -38,23 +25,17 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
{{/* Semester prev/next */}}
|
{{/* Semester prev/next */}} {{ $allSemesters := site.Taxonomies.semester.Alphabetical }} {{ if gt
|
||||||
{{ $allSemesters := site.Taxonomies.semester.Alphabetical }}
|
(len $allSemesters) 1 }} {{ $currentIdx := 0 }} {{ range $i, $s := $allSemesters }} {{ if eq
|
||||||
{{ if gt (len $allSemesters) 1 }}
|
$s.Page.Title $semesterName }}{{ $currentIdx = $i }}{{ end }} {{ end }}
|
||||||
{{ $currentIdx := 0 }}
|
|
||||||
{{ range $i, $s := $allSemesters }}
|
|
||||||
{{ if eq $s.Page.Title $semesterName }}{{ $currentIdx = $i }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
<nav class="page-nav">
|
<nav class="page-nav">
|
||||||
{{ if gt $currentIdx 0 }}
|
{{ if gt $currentIdx 0 }} {{ $prev := index $allSemesters (sub $currentIdx 1) }}
|
||||||
{{ $prev := index $allSemesters (sub $currentIdx 1) }}
|
<a class="page-nav__previous-link" href="{{ $prev.Page.RelPermalink }}"
|
||||||
<a class="page-nav__previous-link" href="{{ $prev.Page.RelPermalink }}">← {{ $prev.Page.Title }}</a>
|
>← {{ $prev.Page.Title }}</a
|
||||||
{{ end }}
|
>
|
||||||
{{ if lt $currentIdx (sub (len $allSemesters) 1) }}
|
{{ end }} {{ if lt $currentIdx (sub (len $allSemesters) 1) }} {{ $next := index $allSemesters
|
||||||
{{ $next := index $allSemesters (add $currentIdx 1) }}
|
(add $currentIdx 1) }}
|
||||||
<a class="page-nav__next-link" href="{{ $next.Page.RelPermalink }}">{{ $next.Page.Title }} →</a>
|
<a class="page-nav__next-link" href="{{ $next.Page.RelPermalink }}">{{ $next.Page.Title }} →</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</nav>
|
</nav>
|
||||||
{{ end }}
|
{{ end }} {{ end }}
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,27 +7,16 @@
|
|||||||
|
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
|
|
||||||
{{ .Content }}
|
{{ .Content }} {{/* Prev/next among sibling services */}} {{ $allPages :=
|
||||||
|
.CurrentSection.Pages.ByTitle }} {{ $currentTitle := .Title }} {{ $currentIdx := 0 }} {{ range $i,
|
||||||
{{/* Prev/next among sibling services */}}
|
$p := $allPages }} {{ if eq $p.Title $currentTitle }}{{ $currentIdx = $i }}{{ end }} {{ end }} {{ if
|
||||||
{{ $allPages := .CurrentSection.Pages.ByTitle }}
|
gt (len $allPages) 1 }}
|
||||||
{{ $currentTitle := .Title }}
|
|
||||||
{{ $currentIdx := 0 }}
|
|
||||||
{{ range $i, $p := $allPages }}
|
|
||||||
{{ if eq $p.Title $currentTitle }}{{ $currentIdx = $i }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ if gt (len $allPages) 1 }}
|
|
||||||
<nav class="page-nav">
|
<nav class="page-nav">
|
||||||
{{ if gt $currentIdx 0 }}
|
{{ if gt $currentIdx 0 }} {{ $prev := index $allPages (sub $currentIdx 1) }}
|
||||||
{{ $prev := index $allPages (sub $currentIdx 1) }}
|
|
||||||
<a class="page-nav__previous-link" href="{{ $prev.RelPermalink }}">← {{ $prev.LinkTitle }}</a>
|
<a class="page-nav__previous-link" href="{{ $prev.RelPermalink }}">← {{ $prev.LinkTitle }}</a>
|
||||||
{{ end }}
|
{{ end }} {{ if lt $currentIdx (sub (len $allPages) 1) }} {{ $next := index $allPages (add
|
||||||
{{ if lt $currentIdx (sub (len $allPages) 1) }}
|
$currentIdx 1) }}
|
||||||
{{ $next := index $allPages (add $currentIdx 1) }}
|
|
||||||
<a class="page-nav__next-link" href="{{ $next.RelPermalink }}">{{ $next.LinkTitle }} →</a>
|
<a class="page-nav__next-link" href="{{ $next.RelPermalink }}">{{ $next.LinkTitle }} →</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</nav>
|
</nav>
|
||||||
{{ end }}
|
{{ end }} {{ end }}
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<div id="auth-message" class="auth-message" aria-live="polite" style="display: none"></div>
|
<div id="auth-message" class="auth-message" aria-live="polite" style="display: none"></div>
|
||||||
|
|
||||||
<form id="signup-form" class="auth-form" novalidate>
|
<form id="signup-form" class="auth-form" novalidate>
|
||||||
|
<div class="auth-form__input-wrap">
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
<label class="auth-form__label" for="signup-username">Username</label>
|
<label class="auth-form__label" for="signup-username">Username</label>
|
||||||
<input
|
<input
|
||||||
@@ -15,12 +16,13 @@
|
|||||||
name="username"
|
name="username"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
required
|
required
|
||||||
placeholder="choose_a_username"
|
|
||||||
minlength="3"
|
minlength="3"
|
||||||
maxlength="32"
|
maxlength="32"
|
||||||
pattern="[a-zA-Z0-9_\-]+"
|
pattern="[a-zA-Z0-9_\-]+"
|
||||||
/>
|
/>
|
||||||
<span class="auth-form__hint">3–32 characters; letters, numbers, _ and - only.</span>
|
<span class="auth-form__hint"
|
||||||
|
>(3-32 characters; letters, numbers, _ and - only)</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
@@ -32,13 +34,11 @@
|
|||||||
name="email"
|
name="email"
|
||||||
autocomplete="email"
|
autocomplete="email"
|
||||||
required
|
required
|
||||||
placeholder="you@example.com"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
<label class="auth-form__label" for="signup-password">Password</label>
|
<label class="auth-form__label" for="signup-password">Password</label>
|
||||||
<div class="auth-form__input-wrap">
|
|
||||||
<input
|
<input
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
type="password"
|
type="password"
|
||||||
@@ -46,20 +46,45 @@
|
|||||||
name="password"
|
name="password"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
required
|
required
|
||||||
placeholder="••••••••"
|
|
||||||
minlength="8"
|
minlength="8"
|
||||||
/>
|
/>
|
||||||
<button type="button" class="auth-form__eye" aria-label="Toggle password visibility" tabindex="-1">
|
<button
|
||||||
<svg class="eye-show" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
|
type="button"
|
||||||
<svg class="eye-hide" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" style="display:none"><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"/></svg>
|
class="auth-form__eye"
|
||||||
|
aria-label="Toggle password visibility"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="eye-show"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="eye-hide"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
style="display: none"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
<span class="auth-form__hint">(at least 8 characters)</span>
|
||||||
<span class="auth-form__hint">At least 8 characters.</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="auth-form__group">
|
<div class="auth-form__group">
|
||||||
<label class="auth-form__label" for="signup-confirm">Confirm Password</label>
|
<label class="auth-form__label" for="signup-confirm">Confirm Password</label>
|
||||||
<div class="auth-form__input-wrap">
|
|
||||||
<input
|
<input
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
type="password"
|
type="password"
|
||||||
@@ -67,15 +92,24 @@
|
|||||||
name="confirm_password"
|
name="confirm_password"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
required
|
required
|
||||||
placeholder="••••••••"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" class="auth-form__submit" id="signup-submit">
|
<button type="submit" class="auth-form__submit" id="signup-submit">
|
||||||
<span class="auth-form__submit-text">Create Account</span>
|
<span class="auth-form__submit-text">Create Account</span>
|
||||||
<span class="auth-form__submit-loader" style="display: none">
|
<span class="auth-form__submit-loader" style="display: none">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="spin"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
class="spin"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -123,7 +157,10 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!/^[a-zA-Z0-9_\-]{3,32}$/.test(username)) {
|
if (!/^[a-zA-Z0-9_\-]{3,32}$/.test(username)) {
|
||||||
showMsg('Username must be 3\u201332 characters: letters, numbers, _ or -.', 'error');
|
showMsg(
|
||||||
|
'Username must be 3\u201332 characters: letters, numbers, _ or -.',
|
||||||
|
'error'
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (password.length < 8) {
|
if (password.length < 8) {
|
||||||
@@ -143,13 +180,22 @@
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
credentials: 'include',
|
credentials: 'include',
|
||||||
body: JSON.stringify({ action: 'signup', username: username, email: email, password: password })
|
body: JSON.stringify({
|
||||||
|
action: 'signup',
|
||||||
|
username: username,
|
||||||
|
email: email,
|
||||||
|
password: password,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
.then(function (r) {
|
||||||
|
return r.json();
|
||||||
})
|
})
|
||||||
.then(function (r) { return r.json(); })
|
|
||||||
.then(function (data) {
|
.then(function (data) {
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
showMsg('Account created! Redirecting to login\u2026', 'success');
|
showMsg('Account created! Redirecting to login\u2026', 'success');
|
||||||
setTimeout(function () { window.location.href = '/login/'; }, 1500);
|
setTimeout(function () {
|
||||||
|
window.location.href = '/login/';
|
||||||
|
}, 1500);
|
||||||
} else {
|
} else {
|
||||||
showMsg(data.message || 'Sign-up failed. Please try again.', 'error');
|
showMsg(data.message || 'Sign-up failed. Please try again.', 'error');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,43 +13,116 @@
|
|||||||
<img src="/logo.png" alt="Freedoms4 logo" />
|
<img src="/logo.png" alt="Freedoms4 logo" />
|
||||||
<h1>Freedoms4</h1>
|
<h1>Freedoms4</h1>
|
||||||
<div class="brand__actions">
|
<div class="brand__actions">
|
||||||
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light mode">
|
<button
|
||||||
<svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"/></svg>
|
class="theme-toggle"
|
||||||
<svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"/></svg>
|
id="theme-toggle"
|
||||||
|
aria-label="Toggle theme"
|
||||||
|
title="Toggle dark/light mode"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__sun"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-12.37l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0zM7.05 18.36l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06c.39-.39.39-1.03 0-1.41s-1.03-.39-1.41 0z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
class="theme-toggle__moon"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" />
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- Desktop: account + subscribe -->
|
<!-- Desktop: account + subscribe -->
|
||||||
<div class="brand__auth brand__auth--desktop">
|
<div class="brand__auth brand__auth--desktop">
|
||||||
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
<input type="checkbox" id="auth-dropdown" class="brand__auth-check" />
|
||||||
<label class="brand__auth-toggle" for="auth-dropdown" tabindex="0" aria-label="Account options">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>
|
class="brand__auth-toggle"
|
||||||
|
for="auth-dropdown"
|
||||||
|
tabindex="0"
|
||||||
|
aria-label="Account options"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__auth-links">
|
<div class="brand__auth-links">
|
||||||
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
<a href="/login/" class="auth-link auth-link--login">Login</a>
|
||||||
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
<a href="/signup/" class="auth-link auth-link--signup">Sign Up</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- $rssURL := "/index.xml" -}}
|
{{- $rssURL := "/index.xml" -}} {{- with .OutputFormats.Get "rss" -}} {{-
|
||||||
{{- with .OutputFormats.Get "rss" -}}
|
$rssURL = .RelPermalink -}} {{- end -}}
|
||||||
{{- $rssURL = .RelPermalink -}}
|
<a
|
||||||
{{- end -}}
|
href="{{ $rssURL }}"
|
||||||
<a href="{{ $rssURL }}" class="rss-subscribe__link rss-subscribe__link--desktop" title="Subscribe via RSS">
|
class="rss-subscribe__link rss-subscribe__link--desktop"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="10" height="10" fill="currentColor" aria-hidden="true">
|
title="Subscribe via RSS"
|
||||||
<path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/>
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="10"
|
||||||
|
height="10"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Subscribe</span>
|
<span>Subscribe</span>
|
||||||
</a>
|
</a>
|
||||||
<!-- Mobile: combined dropdown -->
|
<!-- Mobile: combined dropdown -->
|
||||||
<div class="brand__mobile-menu">
|
<div class="brand__mobile-menu">
|
||||||
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
<input type="checkbox" id="mobile-menu-check" class="brand__mobile-check" />
|
||||||
<label class="brand__mobile-toggle" for="mobile-menu-check" aria-label="Menu">
|
<label
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
class="brand__mobile-toggle"
|
||||||
|
for="mobile-menu-check"
|
||||||
|
aria-label="Menu"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="18"
|
||||||
|
height="18"
|
||||||
|
fill="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<div class="brand__mobile-links">
|
<div class="brand__mobile-links">
|
||||||
<a href="/login/" class="mobile-link">Login</a>
|
<a href="/login/" class="mobile-link">Login</a>
|
||||||
<a href="/signup/" class="mobile-link">Sign Up</a>
|
<a href="/signup/" class="mobile-link">Sign Up</a>
|
||||||
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
<a href="{{ $rssURL }}" class="mobile-link mobile-link--subscribe">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"/></svg>
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="12"
|
||||||
|
height="12"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19.01 7.38 20 6.18 20C4.98 20 4 19.01 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27V4.44m0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93V10.1z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
Subscribe
|
Subscribe
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,120 +1,57 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ $subjectCode := .Title }} {{/* Get semester from first post */}} {{ $semester
|
||||||
|
:= "" }} {{ range .Pages }} {{ if eq $semester "" }} {{ $raw := .Params.semester }} {{ if
|
||||||
{{ $subjectCode := .Title }}
|
reflect.IsSlice $raw }} {{ $semester = index $raw 0 }} {{ else }} {{ $semester = $raw }} {{ end }}
|
||||||
|
{{ end }} {{ end }}
|
||||||
{{/* Get semester from first post */}}
|
|
||||||
{{ $semester := "" }}
|
|
||||||
{{ range .Pages }}
|
|
||||||
{{ if eq $semester "" }}
|
|
||||||
{{ $raw := .Params.semester }}
|
|
||||||
{{ if reflect.IsSlice $raw }}
|
|
||||||
{{ $semester = index $raw 0 }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $semester = $raw }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/uninotes/">UniNotes</a>
|
<a href="/uninotes/">UniNotes</a>
|
||||||
{{ if $semester }}
|
{{ if $semester }} {{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }}
|
||||||
{{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }}
|
{{ if $semPage }} › <a href="{{ $semPage.RelPermalink }}">{{ $semester }}</a> {{ end }} {{ end
|
||||||
{{ if $semPage }}
|
}} › <span>{{ $subjectCode }}</span>
|
||||||
› <a href="{{ $semPage.RelPermalink }}">{{ $semester }}</a>
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
› <span>{{ $subjectCode }}</span>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h1>{{ $subjectCode }}</h1>
|
<h1>{{ $subjectCode }}</h1>
|
||||||
|
|
||||||
{{/* Collect unique unit labels and sort numerically */}}
|
{{/* Collect unique unit labels and sort numerically */}} {{ $seenUnits := slice }} {{ $unitDicts :=
|
||||||
{{ $seenUnits := slice }}
|
slice }} {{ range .Pages }} {{ $unitLabel := (.Params.unit | default .Title) }} {{ if not (in
|
||||||
{{ $unitDicts := slice }}
|
$seenUnits $unitLabel) }} {{ $seenUnits = $seenUnits | append $unitLabel }} {{/* Extract unit number
|
||||||
{{ range .Pages }}
|
for numeric sort, e.g. "Unit 11" → 11 */}} {{ $uParts := split $unitLabel " " }} {{ $uLast := index
|
||||||
{{ $unitLabel := (.Params.unit | default .Title) }}
|
$uParts (sub (len $uParts) 1) }} {{ $uNumStr := "" }} {{ range (split $uLast "") }} {{ if ge . "0"
|
||||||
{{ if not (in $seenUnits $unitLabel) }}
|
}}{{ if le . "9" }}{{ $uNumStr = printf "%s%s" $uNumStr . }}{{ end }}{{ end }} {{ end }} {{ $uNum :=
|
||||||
{{ $seenUnits = $seenUnits | append $unitLabel }}
|
int ($uNumStr | default "0") }} {{ $unitDicts = $unitDicts | append (dict "label" $unitLabel "page"
|
||||||
{{/* Extract unit number for numeric sort, e.g. "Unit 11" → 11 */}}
|
. "num" $uNum) }} {{ end }} {{ end }} {{ $sortedUnitDicts := sort $unitDicts "num" }}
|
||||||
{{ $uParts := split $unitLabel " " }}
|
|
||||||
{{ $uLast := index $uParts (sub (len $uParts) 1) }}
|
|
||||||
{{ $uNumStr := "" }}
|
|
||||||
{{ range (split $uLast "") }}
|
|
||||||
{{ if ge . "0" }}{{ if le . "9" }}{{ $uNumStr = printf "%s%s" $uNumStr . }}{{ end }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $uNum := int ($uNumStr | default "0") }}
|
|
||||||
{{ $unitDicts = $unitDicts | append (dict "label" $unitLabel "page" . "num" $uNum) }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $sortedUnitDicts := sort $unitDicts "num" }}
|
|
||||||
|
|
||||||
<ul class="uninotes-list uninotes-list--units">
|
<ul class="uninotes-list uninotes-list--units">
|
||||||
{{ range $sortedUnitDicts }}
|
{{ range $sortedUnitDicts }}
|
||||||
<li class="uninotes-list__item">
|
<li class="uninotes-list__item">
|
||||||
<a class="uninotes-list__link" href="{{ .page.Params.uniturl }}">
|
<a class="uninotes-list__link" href="{{ .page.Params.uniturl }}"> {{ .label }} </a>
|
||||||
{{ .label }}
|
|
||||||
</a>
|
|
||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{/* Subject prev/next — siblings in same semester, sorted numerically by code number */}}
|
{{/* Subject prev/next — siblings in same semester, sorted numerically by code number */}} {{ if
|
||||||
{{ if $semester }}
|
$semester }} {{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }} {{ if
|
||||||
{{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }}
|
$semPage }} {{/* Collect unique subject codes */}} {{ $siblingCodes := slice }} {{ range
|
||||||
{{ if $semPage }}
|
$semPage.Pages }} {{ $raw := .Params.subjectcode }} {{ $code := "" }} {{ if reflect.IsSlice $raw }}
|
||||||
{{/* Collect unique subject codes */}}
|
{{ $code = index $raw 0 }} {{ else }} {{ $code = $raw }} {{ end }} {{ if and $code (not (in
|
||||||
{{ $siblingCodes := slice }}
|
$siblingCodes $code)) }} {{ $siblingCodes = $siblingCodes | append $code }} {{ end }} {{ end }} {{/*
|
||||||
{{ range $semPage.Pages }}
|
Sort subject codes numerically by extracting the number (e.g. "BO DCM1109" → 1109) */}} {{
|
||||||
{{ $raw := .Params.subjectcode }}
|
$codeDicts := slice }} {{ range $siblingCodes }} {{ $code := . }} {{ $parts := split $code " " }} {{
|
||||||
{{ $code := "" }}
|
$lastPart := index $parts (sub (len $parts) 1) }} {{ $numStr := "" }} {{ range (split $lastPart "")
|
||||||
{{ if reflect.IsSlice $raw }}
|
}} {{ if ge . "0" }}{{ if le . "9" }}{{ $numStr = printf "%s%s" $numStr . }}{{ end }}{{ end }} {{
|
||||||
{{ $code = index $raw 0 }}
|
end }} {{ $num := int ($numStr | default "0") }} {{ $codeDicts = $codeDicts | append (dict "code"
|
||||||
{{ else }}
|
$code "num" $num) }} {{ end }} {{ $sortedCodeDicts := sort $codeDicts "num" }} {{ if gt (len
|
||||||
{{ $code = $raw }}
|
$sortedCodeDicts) 1 }} {{ $currentIdx := 0 }} {{ range $i, $d := $sortedCodeDicts }} {{ if eq
|
||||||
{{ end }}
|
$d.code $subjectCode }}{{ $currentIdx = $i }}{{ end }} {{ end }}
|
||||||
{{ if and $code (not (in $siblingCodes $code)) }}
|
|
||||||
{{ $siblingCodes = $siblingCodes | append $code }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{/* Sort subject codes numerically by extracting the number (e.g. "BO DCM1109" → 1109) */}}
|
|
||||||
{{ $codeDicts := slice }}
|
|
||||||
{{ range $siblingCodes }}
|
|
||||||
{{ $code := . }}
|
|
||||||
{{ $parts := split $code " " }}
|
|
||||||
{{ $lastPart := index $parts (sub (len $parts) 1) }}
|
|
||||||
{{ $numStr := "" }}
|
|
||||||
{{ range (split $lastPart "") }}
|
|
||||||
{{ if ge . "0" }}{{ if le . "9" }}{{ $numStr = printf "%s%s" $numStr . }}{{ end }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $num := int ($numStr | default "0") }}
|
|
||||||
{{ $codeDicts = $codeDicts | append (dict "code" $code "num" $num) }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $sortedCodeDicts := sort $codeDicts "num" }}
|
|
||||||
|
|
||||||
{{ if gt (len $sortedCodeDicts) 1 }}
|
|
||||||
{{ $currentIdx := 0 }}
|
|
||||||
{{ range $i, $d := $sortedCodeDicts }}
|
|
||||||
{{ if eq $d.code $subjectCode }}{{ $currentIdx = $i }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
<nav class="page-nav">
|
<nav class="page-nav">
|
||||||
{{ if gt $currentIdx 0 }}
|
{{ if gt $currentIdx 0 }} {{ $prevCode := (index $sortedCodeDicts (sub $currentIdx 1)).code }}
|
||||||
{{ $prevCode := (index $sortedCodeDicts (sub $currentIdx 1)).code }}
|
{{ $prevPage := site.GetPage (printf "/subjectcode/%s" ($prevCode | urlize)) }} {{ if $prevPage
|
||||||
{{ $prevPage := site.GetPage (printf "/subjectcode/%s" ($prevCode | urlize)) }}
|
}}
|
||||||
{{ if $prevPage }}
|
|
||||||
<a class="page-nav__previous-link" href="{{ $prevPage.RelPermalink }}">← {{ $prevCode }}</a>
|
<a class="page-nav__previous-link" href="{{ $prevPage.RelPermalink }}">← {{ $prevCode }}</a>
|
||||||
{{ end }}
|
{{ end }} {{ end }} {{ if lt $currentIdx (sub (len $sortedCodeDicts) 1) }} {{ $nextCode :=
|
||||||
{{ end }}
|
(index $sortedCodeDicts (add $currentIdx 1)).code }} {{ $nextPage := site.GetPage (printf
|
||||||
{{ if lt $currentIdx (sub (len $sortedCodeDicts) 1) }}
|
"/subjectcode/%s" ($nextCode | urlize)) }} {{ if $nextPage }}
|
||||||
{{ $nextCode := (index $sortedCodeDicts (add $currentIdx 1)).code }}
|
|
||||||
{{ $nextPage := site.GetPage (printf "/subjectcode/%s" ($nextCode | urlize)) }}
|
|
||||||
{{ if $nextPage }}
|
|
||||||
<a class="page-nav__next-link" href="{{ $nextPage.RelPermalink }}">{{ $nextCode }} →</a>
|
<a class="page-nav__next-link" href="{{ $nextPage.RelPermalink }}">{{ $nextCode }} →</a>
|
||||||
{{ end }}
|
{{ end }} {{ end }}
|
||||||
{{ end }}
|
|
||||||
</nav>
|
</nav>
|
||||||
{{ end }}
|
{{ end }} {{ end }} {{ end }} {{ end }}
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
› <span>Categories</span>
|
› <span>Categories</span>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h1><a href="/blog/" style="text-decoration: none; color: var(--accent-color);">All Posts</a> | Categories</h1>
|
<h1>
|
||||||
|
<a href="/blog/" style="text-decoration: none; color: var(--accent-color)">All Posts</a> |
|
||||||
|
Categories
|
||||||
|
</h1>
|
||||||
|
|
||||||
<section class="term-list">
|
<section class="term-list">
|
||||||
{{ range .Data.Terms.Alphabetical }}
|
{{ range .Data.Terms.Alphabetical }}
|
||||||
|
|||||||
@@ -1,99 +1,52 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }} {{ $semesterRaw := .Params.semester }} {{ $subjectcodeRaw := .Params.subjectcode
|
||||||
|
}} {{ $semester := "" }} {{ if reflect.IsSlice $semesterRaw }} {{ $semester = index $semesterRaw 0
|
||||||
{{ $semesterRaw := .Params.semester }}
|
}} {{ else }} {{ $semester = $semesterRaw }} {{ end }} {{ $subjectcode := "" }} {{ if
|
||||||
{{ $subjectcodeRaw := .Params.subjectcode }}
|
reflect.IsSlice $subjectcodeRaw }} {{ $subjectcode = index $subjectcodeRaw 0 }} {{ else }} {{
|
||||||
{{ $semester := "" }}
|
$subjectcode = $subjectcodeRaw }} {{ end }}
|
||||||
{{ if reflect.IsSlice $semesterRaw }}
|
|
||||||
{{ $semester = index $semesterRaw 0 }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $semester = $semesterRaw }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $subjectcode := "" }}
|
|
||||||
{{ if reflect.IsSlice $subjectcodeRaw }}
|
|
||||||
{{ $subjectcode = index $subjectcodeRaw 0 }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $subjectcode = $subjectcodeRaw }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/uninotes/">UniNotes</a>
|
<a href="/uninotes/">UniNotes</a>
|
||||||
{{ if $semester }}
|
{{ if $semester }} {{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }}
|
||||||
{{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }}
|
{{ if $semPage }} › <a href="{{ $semPage.RelPermalink }}">{{ $semester }}</a> {{ end }} {{ end
|
||||||
{{ if $semPage }}
|
}} {{ if $subjectcode }} {{ $subPage := site.GetPage (printf "/subjectcode/%s" ($subjectcode |
|
||||||
› <a href="{{ $semPage.RelPermalink }}">{{ $semester }}</a>
|
urlize)) }} {{ if $subPage }} › <a href="{{ $subPage.RelPermalink }}">{{ $subjectcode }}</a> {{
|
||||||
{{ end }}
|
end }} {{ end }} › <a href="{{ .Params.uniturl }}">{{ .Params.unit | default .Title }}</a> ›
|
||||||
{{ end }}
|
<span>{{ .Params.notecategory | default "Notes" }}</span>
|
||||||
{{ if $subjectcode }}
|
|
||||||
{{ $subPage := site.GetPage (printf "/subjectcode/%s" ($subjectcode | urlize)) }}
|
|
||||||
{{ if $subPage }}
|
|
||||||
› <a href="{{ $subPage.RelPermalink }}">{{ $subjectcode }}</a>
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
› <a href="{{ .Params.uniturl }}">{{ .Params.unit | default .Title }}</a>
|
|
||||||
› <span>{{ .Params.notecategory | default "Notes" }}</span>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="uninotes-meta">
|
<div class="uninotes-meta">
|
||||||
{{ with $semester }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
{{ with $semester }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }} {{ with
|
||||||
{{ with $subjectcode }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
$subjectcode }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }} {{ with
|
||||||
{{ with .Params.notecategory }}
|
.Params.notecategory }}
|
||||||
<span class="uninotes-meta__pill uninotes-meta__pill--{{ . | lower }}">{{ . }}</span>
|
<span class="uninotes-meta__pill uninotes-meta__pill--{{ . | lower }}">{{ . }}</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h1>{{ .Params.unit | default .Title }}</h1>
|
<h1>{{ .Params.unit | default .Title }}</h1>
|
||||||
|
|
||||||
{{ partial "page/toc.html" . }}
|
{{ partial "page/toc.html" . }} {{ .Content }} {{ partial "page/terms.html" (dict "taxonomy" "tags"
|
||||||
|
"page" .) }} {{ partial "page/terms.html" (dict "taxonomy" "categories" "page" .) }} {{/* Next/prev
|
||||||
{{ .Content }}
|
among sibling UNITS in the same subjectcode — sorted numerically */}} {{ if $subjectcode }} {{
|
||||||
|
$subPage := site.GetPage (printf "/subjectcode/%s" ($subjectcode | urlize)) }} {{ if $subPage }}
|
||||||
{{ partial "page/terms.html" (dict "taxonomy" "tags" "page" .) }}
|
{{/* Build deduplicated unit list with numeric sort key */}} {{ $seenUnits := slice }} {{ $unitDicts
|
||||||
{{ partial "page/terms.html" (dict "taxonomy" "categories" "page" .) }}
|
:= slice }} {{ range $subPage.Pages }} {{ $unitLabel := (.Params.unit | default .Title) }} {{ if not
|
||||||
|
(in $seenUnits $unitLabel) }} {{ $seenUnits = $seenUnits | append $unitLabel }} {{/* Extract unit
|
||||||
{{/* Next/prev among sibling UNITS in the same subjectcode — sorted numerically */}}
|
number for numeric sort, e.g. "Unit 11" → 11 */}} {{ $uParts := split $unitLabel " " }} {{ $uLast :=
|
||||||
{{ if $subjectcode }}
|
index $uParts (sub (len $uParts) 1) }} {{ $uNumStr := "" }} {{ range (split $uLast "") }} {{ if ge .
|
||||||
{{ $subPage := site.GetPage (printf "/subjectcode/%s" ($subjectcode | urlize)) }}
|
"0" }}{{ if le . "9" }}{{ $uNumStr = printf "%s%s" $uNumStr . }}{{ end }}{{ end }} {{ end }} {{
|
||||||
{{ if $subPage }}
|
$uNum := int ($uNumStr | default "0") }} {{ $unitDicts = $unitDicts | append (dict "label"
|
||||||
{{/* Build deduplicated unit list with numeric sort key */}}
|
$unitLabel "page" . "num" $uNum) }} {{ end }} {{ end }} {{ $sortedUnitDicts := sort $unitDicts "num"
|
||||||
{{ $seenUnits := slice }}
|
}} {{ $currentUnit := (.Params.unit | default .Title) }} {{ $currentIdx := 0 }} {{ range $i, $d :=
|
||||||
{{ $unitDicts := slice }}
|
$sortedUnitDicts }} {{ if eq $d.label $currentUnit }}{{ $currentIdx = $i }}{{ end }} {{ end }} {{ if
|
||||||
{{ range $subPage.Pages }}
|
gt (len $sortedUnitDicts) 1 }}
|
||||||
{{ $unitLabel := (.Params.unit | default .Title) }}
|
|
||||||
{{ if not (in $seenUnits $unitLabel) }}
|
|
||||||
{{ $seenUnits = $seenUnits | append $unitLabel }}
|
|
||||||
{{/* Extract unit number for numeric sort, e.g. "Unit 11" → 11 */}}
|
|
||||||
{{ $uParts := split $unitLabel " " }}
|
|
||||||
{{ $uLast := index $uParts (sub (len $uParts) 1) }}
|
|
||||||
{{ $uNumStr := "" }}
|
|
||||||
{{ range (split $uLast "") }}
|
|
||||||
{{ if ge . "0" }}{{ if le . "9" }}{{ $uNumStr = printf "%s%s" $uNumStr . }}{{ end }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $uNum := int ($uNumStr | default "0") }}
|
|
||||||
{{ $unitDicts = $unitDicts | append (dict "label" $unitLabel "page" . "num" $uNum) }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $sortedUnitDicts := sort $unitDicts "num" }}
|
|
||||||
|
|
||||||
{{ $currentUnit := (.Params.unit | default .Title) }}
|
|
||||||
{{ $currentIdx := 0 }}
|
|
||||||
{{ range $i, $d := $sortedUnitDicts }}
|
|
||||||
{{ if eq $d.label $currentUnit }}{{ $currentIdx = $i }}{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ if gt (len $sortedUnitDicts) 1 }}
|
|
||||||
<nav class="page-nav">
|
<nav class="page-nav">
|
||||||
{{ if gt $currentIdx 0 }}
|
{{ if gt $currentIdx 0 }} {{ $prev := (index $sortedUnitDicts (sub $currentIdx 1)) }}
|
||||||
{{ $prev := (index $sortedUnitDicts (sub $currentIdx 1)) }}
|
<a class="page-nav__previous-link" href="{{ $prev.page.Params.uniturl }}"
|
||||||
<a class="page-nav__previous-link" href="{{ $prev.page.Params.uniturl }}">← {{ $prev.label }}</a>
|
>← {{ $prev.label }}</a
|
||||||
{{ end }}
|
>
|
||||||
{{ if lt $currentIdx (sub (len $sortedUnitDicts) 1) }}
|
{{ end }} {{ if lt $currentIdx (sub (len $sortedUnitDicts) 1) }} {{ $next := (index
|
||||||
{{ $next := (index $sortedUnitDicts (add $currentIdx 1)) }}
|
$sortedUnitDicts (add $currentIdx 1)) }}
|
||||||
<a class="page-nav__next-link" href="{{ $next.page.Params.uniturl }}">{{ $next.label }} →</a>
|
<a class="page-nav__next-link" href="{{ $next.page.Params.uniturl }}">{{ $next.label }} →</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</nav>
|
</nav>
|
||||||
{{ end }}
|
{{ end }} {{ end }} {{ end }} {{ partial "page/page-end.html" . }} {{ end }}
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ partial "page/page-end.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
|
|
||||||
{{/* Get semester and subjectcode from child pages since _index.md doesn't carry taxonomy params */}}
|
{{/* Get semester and subjectcode from child pages since _index.md doesn't carry taxonomy params */}}
|
||||||
{{ $semester := "" }}
|
{{ $semester := "" }}
|
||||||
{{ $subjectcode := "" }}
|
{{ $subjectcode := "" }}
|
||||||
@@ -12,6 +13,7 @@
|
|||||||
{{ $subjectcode = cond (reflect.IsSlice $raw) (index $raw 0) $raw }}
|
{{ $subjectcode = cond (reflect.IsSlice $raw) (index $raw 0) $raw }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<nav class="uninotes-breadcrumbs breadcrumbs">
|
<nav class="uninotes-breadcrumbs breadcrumbs">
|
||||||
<a href="/uninotes/">UniNotes</a>
|
<a href="/uninotes/">UniNotes</a>
|
||||||
{{ if $semester }}
|
{{ if $semester }}
|
||||||
@@ -28,36 +30,32 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
› <span>{{ .Params.unit | default .Title }}</span>
|
› <span>{{ .Params.unit | default .Title }}</span>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="uninotes-meta">
|
<div class="uninotes-meta">
|
||||||
{{ with $semester }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
{{ with $semester }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
||||||
{{ with $subjectcode }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
{{ with $subjectcode }}<span class="uninotes-meta__pill">{{ . }}</span>{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h1>{{ .Params.unit | default .Title }}</h1>
|
<h1>{{ .Params.unit | default .Title }}</h1>
|
||||||
|
|
||||||
<p class="unit-choice__subtitle">Choose type:</p>
|
<p class="unit-choice__subtitle">Choose type:</p>
|
||||||
{{/* Check if self/live pages exist */}}
|
|
||||||
{{ $hasSelf := false }}
|
{{/* Check if a live page exists at the expected URL */}}
|
||||||
{{ $hasLive := false }}
|
{{ $hasLive := false }}
|
||||||
{{ range .Pages }}
|
{{ range .Pages }}
|
||||||
{{ if eq (lower .Params.notecategory) "self" }}{{ $hasSelf = true }}{{ end }}
|
|
||||||
{{ if eq (lower .Params.notecategory) "live" }}{{ $hasLive = true }}{{ end }}
|
{{ if eq (lower .Params.notecategory) "live" }}{{ $hasLive = true }}{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="unit-choice__options">
|
<div class="unit-choice__options">
|
||||||
{{ if $hasSelf }}
|
|
||||||
<a class="unit-choice__card unit-choice__card--self" href="{{ .RelPermalink }}self/">
|
<a class="unit-choice__card unit-choice__card--self" href="{{ .RelPermalink }}self/">
|
||||||
{{ else }}
|
|
||||||
<div class="unit-choice__card unit-choice__card--self unit-choice__card--unavailable">
|
|
||||||
{{ end }}
|
|
||||||
<div class="unit-choice__icon">
|
<div class="unit-choice__icon">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor">
|
||||||
<path d="M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/>
|
<path d="M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<div class="unit-choice__label">Self</div>
|
<div class="unit-choice__label">Self</div>
|
||||||
<div class="unit-choice__desc">
|
<div class="unit-choice__desc">Self-study notes</div>
|
||||||
{{ if $hasSelf }}Self-study notes
|
</a>
|
||||||
{{ else }}Not available{{ end }}
|
|
||||||
</div>
|
|
||||||
{{ if $hasSelf }}</a>{{ else }}</div>{{ end }}
|
|
||||||
|
|
||||||
{{ if $hasLive }}
|
{{ if $hasLive }}
|
||||||
<a class="unit-choice__card unit-choice__card--live" href="{{ .RelPermalink }}live/">
|
<a class="unit-choice__card unit-choice__card--live" href="{{ .RelPermalink }}live/">
|
||||||
@@ -76,4 +74,5 @@
|
|||||||
</div>
|
</div>
|
||||||
{{ if $hasLive }}</a>{{ else }}</div>{{ end }}
|
{{ if $hasLive }}</a>{{ else }}</div>{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/* ── Auth pages (login / signup) ───────────────────────────────────────── */
|
/* ── Auth pages (login / signup) ───────────────────────────────────────── */
|
||||||
|
|
||||||
.auth-page {
|
.auth-page {
|
||||||
@@ -89,7 +88,9 @@
|
|||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
color: var(--foreground-color);
|
color: var(--foreground-color);
|
||||||
transition: border-color 0.18s ease, box-shadow 0.18s ease;
|
transition:
|
||||||
|
border-color 0.18s ease,
|
||||||
|
box-shadow 0.18s ease;
|
||||||
outline: none;
|
outline: none;
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
}
|
}
|
||||||
@@ -163,8 +164,12 @@
|
|||||||
|
|
||||||
/* Spinner animation */
|
/* Spinner animation */
|
||||||
@keyframes auth-spin {
|
@keyframes auth-spin {
|
||||||
from { transform: rotate(0deg); }
|
from {
|
||||||
to { transform: rotate(360deg); }
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.spin {
|
.spin {
|
||||||
|
|||||||
@@ -233,10 +233,12 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
box-sizing: border-box;
|
||||||
padding: 0.355rem 0.5rem;
|
padding: 0.355rem 0.5rem;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
border: 1px solid #f26522;
|
border: 1px solid #f26522;
|
||||||
@@ -245,6 +247,7 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
font-weight: 340;
|
font-weight: 340;
|
||||||
|
font-family: inherit;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
@@ -254,21 +257,25 @@
|
|||||||
color 0.2s ease;
|
color 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle:hover {
|
.brand__auth-toggle:hover,
|
||||||
|
.brand__auth-user-btn:hover {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: #f26522;
|
border-color: #f26522;
|
||||||
color: #f26522;
|
color: #f26522;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-color: currentColor;
|
border-color: currentColor;
|
||||||
color: var(--foreground-color);
|
color: var(--foreground-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth-toggle:hover,
|
.brand__auth-toggle:hover,
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn:hover,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -477,13 +484,15 @@
|
|||||||
|
|
||||||
/* Default (system light): orange filled */
|
/* Default (system light): orange filled */
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: #f26522 !important;
|
background-color: #f26522 !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #f26522 !important;
|
color: #f26522 !important;
|
||||||
@@ -492,13 +501,15 @@
|
|||||||
|
|
||||||
/* System dark: outline */
|
/* System dark: outline */
|
||||||
@media (max-width: 600px) and (prefers-color-scheme: dark) {
|
@media (max-width: 600px) and (prefers-color-scheme: dark) {
|
||||||
.brand__auth-toggle {
|
.brand__auth-toggle,
|
||||||
|
.brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: currentColor !important;
|
border-color: currentColor !important;
|
||||||
color: var(--foreground-color) !important;
|
color: var(--foreground-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand__auth:focus-within .brand__auth-toggle {
|
.brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -507,26 +518,30 @@
|
|||||||
|
|
||||||
/* Manual light override */
|
/* Manual light override */
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
[data-theme='light'] .brand__auth-toggle {
|
[data-theme='light'] .brand__auth-toggle,
|
||||||
|
[data-theme='light'] .brand__auth-user-btn {
|
||||||
background-color: #f26522 !important;
|
background-color: #f26522 !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme='light'] .brand__auth:focus-within .brand__auth-toggle {
|
[data-theme='light'] .brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
[data-theme='light'] .brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: #f26522 !important;
|
border-color: #f26522 !important;
|
||||||
color: #f26522 !important;
|
color: #f26522 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Manual dark override */
|
/* Manual dark override */
|
||||||
[data-theme='dark'] .brand__auth-toggle {
|
[data-theme='dark'] .brand__auth-toggle,
|
||||||
|
[data-theme='dark'] .brand__auth-user-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
border-color: currentColor !important;
|
border-color: currentColor !important;
|
||||||
color: var(--foreground-color) !important;
|
color: var(--foreground-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme='dark'] .brand__auth:focus-within .brand__auth-toggle {
|
[data-theme='dark'] .brand__auth:focus-within .brand__auth-toggle,
|
||||||
|
[data-theme='dark'] .brand__auth-user.is-open .brand__auth-user-btn {
|
||||||
background-color: var(--foreground-color) !important;
|
background-color: var(--foreground-color) !important;
|
||||||
border-color: var(--foreground-color) !important;
|
border-color: var(--foreground-color) !important;
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
@@ -878,3 +893,90 @@
|
|||||||
color: var(--foreground-color3, #888);
|
color: var(--foreground-color3, #888);
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Logged-in user button in header ───────────────────────────────────────── */
|
||||||
|
|
||||||
|
/* Hide the old checkbox toggle + login/signup links when logged in */
|
||||||
|
.brand__auth--loggedin .brand__auth-check,
|
||||||
|
.brand__auth--loggedin .brand__auth-toggle,
|
||||||
|
.brand__auth--loggedin .brand__auth-links {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user {
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extra properties needed only because the user-btn contains text */
|
||||||
|
.brand__auth-user-btn {
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: 140px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-dropdown {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(100% + 0.4rem);
|
||||||
|
right: 0;
|
||||||
|
background: var(--background-color);
|
||||||
|
border: 1px solid var(--background-color1);
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: 0 4px 16px rgba(0,0,0,0.18);
|
||||||
|
min-width: 110px;
|
||||||
|
z-index: 100;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user.is-open .brand__auth-user-dropdown {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-logout {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0.55rem 1rem;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.78rem;
|
||||||
|
font-family: inherit;
|
||||||
|
color: var(--foreground-color);
|
||||||
|
transition: background 0.12s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-logout:hover {
|
||||||
|
background: var(--background-color1);
|
||||||
|
color: var(--foreground-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile logged-in state */
|
||||||
|
.brand__mobile-links .mobile-link--logout {
|
||||||
|
color: var(--foreground-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Reset native button styles + force subscribe-button dimensions on logged-in user button */
|
||||||
|
.brand__auth-user-btn {
|
||||||
|
-webkit-appearance: none !important;
|
||||||
|
appearance: none !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
min-height: 0 !important;
|
||||||
|
height: auto !important;
|
||||||
|
vertical-align: middle;
|
||||||
|
padding: 0.2rem 0.65rem !important;
|
||||||
|
border-radius: 3px !important;
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
line-height: 1.4 !important;
|
||||||
|
display: inline-flex !important;
|
||||||
|
align-items: center !important;
|
||||||
|
gap: 0.25rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand__auth-user-btn svg {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user