Initial commit
Update .gitignore, LICENSE-CC0, and 70 more files...
9
.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# IDEs
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# NodeJS Trash
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Build Artifacts
|
||||||
|
*.css
|
||||||
|
*.min.html
|
121
LICENSE-CC0
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
Creative Commons Legal Code
|
||||||
|
|
||||||
|
CC0 1.0 Universal
|
||||||
|
|
||||||
|
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||||
|
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||||
|
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||||
|
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||||
|
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||||
|
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||||
|
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||||
|
HEREUNDER.
|
||||||
|
|
||||||
|
Statement of Purpose
|
||||||
|
|
||||||
|
The laws of most jurisdictions throughout the world automatically confer
|
||||||
|
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||||
|
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||||
|
authorship and/or a database (each, a "Work").
|
||||||
|
|
||||||
|
Certain owners wish to permanently relinquish those rights to a Work for
|
||||||
|
the purpose of contributing to a commons of creative, cultural and
|
||||||
|
scientific works ("Commons") that the public can reliably and without fear
|
||||||
|
of later claims of infringement build upon, modify, incorporate in other
|
||||||
|
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||||
|
and for any purposes, including without limitation commercial purposes.
|
||||||
|
These owners may contribute to the Commons to promote the ideal of a free
|
||||||
|
culture and the further production of creative, cultural and scientific
|
||||||
|
works, or to gain reputation or greater distribution for their Work in
|
||||||
|
part through the use and efforts of others.
|
||||||
|
|
||||||
|
For these and/or other purposes and motivations, and without any
|
||||||
|
expectation of additional consideration or compensation, the person
|
||||||
|
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||||
|
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||||
|
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||||
|
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||||
|
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||||
|
|
||||||
|
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||||
|
protected by copyright and related or neighboring rights ("Copyright and
|
||||||
|
Related Rights"). Copyright and Related Rights include, but are not
|
||||||
|
limited to, the following:
|
||||||
|
|
||||||
|
i. the right to reproduce, adapt, distribute, perform, display,
|
||||||
|
communicate, and translate a Work;
|
||||||
|
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||||
|
iii. publicity and privacy rights pertaining to a person's image or
|
||||||
|
likeness depicted in a Work;
|
||||||
|
iv. rights protecting against unfair competition in regards to a Work,
|
||||||
|
subject to the limitations in paragraph 4(a), below;
|
||||||
|
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||||
|
in a Work;
|
||||||
|
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||||
|
European Parliament and of the Council of 11 March 1996 on the legal
|
||||||
|
protection of databases, and under any national implementation
|
||||||
|
thereof, including any amended or successor version of such
|
||||||
|
directive); and
|
||||||
|
vii. other similar, equivalent or corresponding rights throughout the
|
||||||
|
world based on applicable law or treaty, and any national
|
||||||
|
implementations thereof.
|
||||||
|
|
||||||
|
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||||
|
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||||
|
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||||
|
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||||
|
of action, whether now known or unknown (including existing as well as
|
||||||
|
future claims and causes of action), in the Work (i) in all territories
|
||||||
|
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||||
|
treaty (including future time extensions), (iii) in any current or future
|
||||||
|
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||||
|
including without limitation commercial, advertising or promotional
|
||||||
|
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||||
|
member of the public at large and to the detriment of Affirmer's heirs and
|
||||||
|
successors, fully intending that such Waiver shall not be subject to
|
||||||
|
revocation, rescission, cancellation, termination, or any other legal or
|
||||||
|
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||||
|
as contemplated by Affirmer's express Statement of Purpose.
|
||||||
|
|
||||||
|
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||||
|
be judged legally invalid or ineffective under applicable law, then the
|
||||||
|
Waiver shall be preserved to the maximum extent permitted taking into
|
||||||
|
account Affirmer's express Statement of Purpose. In addition, to the
|
||||||
|
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||||
|
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||||
|
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||||
|
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||||
|
maximum duration provided by applicable law or treaty (including future
|
||||||
|
time extensions), (iii) in any current or future medium and for any number
|
||||||
|
of copies, and (iv) for any purpose whatsoever, including without
|
||||||
|
limitation commercial, advertising or promotional purposes (the
|
||||||
|
"License"). The License shall be deemed effective as of the date CC0 was
|
||||||
|
applied by Affirmer to the Work. Should any part of the License for any
|
||||||
|
reason be judged legally invalid or ineffective under applicable law, such
|
||||||
|
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||||
|
of the License, and in such case Affirmer hereby affirms that he or she
|
||||||
|
will not (i) exercise any of his or her remaining Copyright and Related
|
||||||
|
Rights in the Work or (ii) assert any associated claims and causes of
|
||||||
|
action with respect to the Work, in either case contrary to Affirmer's
|
||||||
|
express Statement of Purpose.
|
||||||
|
|
||||||
|
4. Limitations and Disclaimers.
|
||||||
|
|
||||||
|
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||||
|
surrendered, licensed or otherwise affected by this document.
|
||||||
|
b. Affirmer offers the Work as-is and makes no representations or
|
||||||
|
warranties of any kind concerning the Work, express, implied,
|
||||||
|
statutory or otherwise, including without limitation warranties of
|
||||||
|
title, merchantability, fitness for a particular purpose, non
|
||||||
|
infringement, or the absence of latent or other defects, accuracy, or
|
||||||
|
the present or absence of errors, whether or not discoverable, all to
|
||||||
|
the greatest extent permissible under applicable law.
|
||||||
|
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||||
|
that may apply to the Work or any use thereof, including without
|
||||||
|
limitation any person's Copyright and Related Rights in the Work.
|
||||||
|
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||||
|
consents, permissions or other rights required for any use of the
|
||||||
|
Work.
|
||||||
|
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||||
|
party to this document and has no duty or obligation with respect to
|
||||||
|
this CC0 or use of the Work.
|
227
apache2.conf
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
# This is the main Apache server configuration file. It contains the
|
||||||
|
# configuration directives that give the server its instructions.
|
||||||
|
# See http://httpd.apache.org/docs/2.4/ for detailed information about
|
||||||
|
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
|
||||||
|
# hints.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Summary of how the Apache 2 configuration works in Debian:
|
||||||
|
# The Apache 2 web server configuration in Debian is quite different to
|
||||||
|
# upstream's suggested way to configure the web server. This is because Debian's
|
||||||
|
# default Apache2 installation attempts to make adding and removing modules,
|
||||||
|
# virtual hosts, and extra configuration directives as flexible as possible, in
|
||||||
|
# order to make automating the changes and administering the server as easy as
|
||||||
|
# possible.
|
||||||
|
|
||||||
|
# It is split into several files forming the configuration hierarchy outlined
|
||||||
|
# below, all located in the /etc/apache2/ directory:
|
||||||
|
#
|
||||||
|
# /etc/apache2/
|
||||||
|
# |-- apache2.conf
|
||||||
|
# | `-- ports.conf
|
||||||
|
# |-- mods-enabled
|
||||||
|
# | |-- *.load
|
||||||
|
# | `-- *.conf
|
||||||
|
# |-- conf-enabled
|
||||||
|
# | `-- *.conf
|
||||||
|
# `-- sites-enabled
|
||||||
|
# `-- *.conf
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# * apache2.conf is the main configuration file (this file). It puts the pieces
|
||||||
|
# together by including all remaining configuration files when starting up the
|
||||||
|
# web server.
|
||||||
|
#
|
||||||
|
# * ports.conf is always included from the main configuration file. It is
|
||||||
|
# supposed to determine listening ports for incoming connections which can be
|
||||||
|
# customized anytime.
|
||||||
|
#
|
||||||
|
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
|
||||||
|
# directories contain particular configuration snippets which manage modules,
|
||||||
|
# global configuration fragments, or virtual host configurations,
|
||||||
|
# respectively.
|
||||||
|
#
|
||||||
|
# They are activated by symlinking available configuration files from their
|
||||||
|
# respective *-available/ counterparts. These should be managed by using our
|
||||||
|
# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
|
||||||
|
# their respective man pages for detailed information.
|
||||||
|
#
|
||||||
|
# * The binary is called apache2. Due to the use of environment variables, in
|
||||||
|
# the default configuration, apache2 needs to be started/stopped with
|
||||||
|
# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
|
||||||
|
# work with the default configuration.
|
||||||
|
|
||||||
|
|
||||||
|
# Global configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# ServerRoot: The top of the directory tree under which the server's
|
||||||
|
# configuration, error, and log files are kept.
|
||||||
|
#
|
||||||
|
# NOTE! If you intend to place this on an NFS (or otherwise network)
|
||||||
|
# mounted filesystem then please read the Mutex documentation (available
|
||||||
|
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
|
||||||
|
# you will save yourself a lot of trouble.
|
||||||
|
#
|
||||||
|
# Do NOT add a slash at the end of the directory path.
|
||||||
|
#
|
||||||
|
#ServerRoot "/etc/apache2"
|
||||||
|
|
||||||
|
#
|
||||||
|
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
|
||||||
|
#
|
||||||
|
#Mutex file:${APACHE_LOCK_DIR} default
|
||||||
|
|
||||||
|
#
|
||||||
|
# The directory where shm and other runtime files will be stored.
|
||||||
|
#
|
||||||
|
|
||||||
|
DefaultRuntimeDir ${APACHE_RUN_DIR}
|
||||||
|
|
||||||
|
#
|
||||||
|
# PidFile: The file in which the server should record its process
|
||||||
|
# identification number when it starts.
|
||||||
|
# This needs to be set in /etc/apache2/envvars
|
||||||
|
#
|
||||||
|
PidFile ${APACHE_PID_FILE}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Timeout: The number of seconds before receives and sends time out.
|
||||||
|
#
|
||||||
|
Timeout 300
|
||||||
|
|
||||||
|
#
|
||||||
|
# KeepAlive: Whether or not to allow persistent connections (more than
|
||||||
|
# one request per connection). Set to "Off" to deactivate.
|
||||||
|
#
|
||||||
|
KeepAlive On
|
||||||
|
|
||||||
|
#
|
||||||
|
# MaxKeepAliveRequests: The maximum number of requests to allow
|
||||||
|
# during a persistent connection. Set to 0 to allow an unlimited amount.
|
||||||
|
# We recommend you leave this number high, for maximum performance.
|
||||||
|
#
|
||||||
|
MaxKeepAliveRequests 100
|
||||||
|
|
||||||
|
#
|
||||||
|
# KeepAliveTimeout: Number of seconds to wait for the next request from the
|
||||||
|
# same client on the same connection.
|
||||||
|
#
|
||||||
|
KeepAliveTimeout 5
|
||||||
|
|
||||||
|
|
||||||
|
# These need to be set in /etc/apache2/envvars
|
||||||
|
User ${APACHE_RUN_USER}
|
||||||
|
Group ${APACHE_RUN_GROUP}
|
||||||
|
|
||||||
|
#
|
||||||
|
# HostnameLookups: Log the names of clients or just their IP addresses
|
||||||
|
# e.g., www.apache.org (on) or 204.62.129.132 (off).
|
||||||
|
# The default is off because it'd be overall better for the net if people
|
||||||
|
# had to knowingly turn this feature on, since enabling it means that
|
||||||
|
# each client request will result in AT LEAST one lookup request to the
|
||||||
|
# nameserver.
|
||||||
|
#
|
||||||
|
HostnameLookups Off
|
||||||
|
|
||||||
|
# ErrorLog: The location of the error log file.
|
||||||
|
# If you do not specify an ErrorLog directive within a <VirtualHost>
|
||||||
|
# container, error messages relating to that virtual host will be
|
||||||
|
# logged here. If you *do* define an error logfile for a <VirtualHost>
|
||||||
|
# container, that host's errors will be logged there and not here.
|
||||||
|
#
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||||
|
|
||||||
|
#
|
||||||
|
# LogLevel: Control the severity of messages logged to the error_log.
|
||||||
|
# Available values: trace8, ..., trace1, debug, info, notice, warn,
|
||||||
|
# error, crit, alert, emerg.
|
||||||
|
# It is also possible to configure the log level for particular modules, e.g.
|
||||||
|
# "LogLevel info ssl:warn"
|
||||||
|
#
|
||||||
|
LogLevel warn
|
||||||
|
|
||||||
|
# Include module configuration:
|
||||||
|
IncludeOptional mods-enabled/*.load
|
||||||
|
IncludeOptional mods-enabled/*.conf
|
||||||
|
|
||||||
|
# Include list of ports to listen on
|
||||||
|
Include ports.conf
|
||||||
|
|
||||||
|
|
||||||
|
# Sets the default security model of the Apache2 HTTPD server. It does
|
||||||
|
# not allow access to the root filesystem outside of /usr/share and /var/www.
|
||||||
|
# The former is used by web applications packaged in Debian,
|
||||||
|
# the latter may be used for local directories served by the web server. If
|
||||||
|
# your system is serving content from a sub-directory in /srv you must allow
|
||||||
|
# access here, or in any related virtual host.
|
||||||
|
<Directory />
|
||||||
|
Options FollowSymLinks
|
||||||
|
AllowOverride None
|
||||||
|
Require all denied
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory /usr/share>
|
||||||
|
AllowOverride None
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory /var/www/>
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride None
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
#<Directory /srv/>
|
||||||
|
# Options Indexes FollowSymLinks
|
||||||
|
# AllowOverride None
|
||||||
|
# Require all granted
|
||||||
|
#</Directory>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# AccessFileName: The name of the file to look for in each directory
|
||||||
|
# for additional configuration directives. See also the AllowOverride
|
||||||
|
# directive.
|
||||||
|
#
|
||||||
|
AccessFileName .htaccess
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following lines prevent .htaccess and .htpasswd files from being
|
||||||
|
# viewed by Web clients.
|
||||||
|
#
|
||||||
|
<FilesMatch "^\.ht">
|
||||||
|
Require all denied
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following directives define some format nicknames for use with
|
||||||
|
# a CustomLog directive.
|
||||||
|
#
|
||||||
|
# These deviate from the Common Log Format definitions in that they use %O
|
||||||
|
# (the actual bytes sent including headers) instead of %b (the size of the
|
||||||
|
# requested file), because the latter makes it impossible to detect partial
|
||||||
|
# requests.
|
||||||
|
#
|
||||||
|
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
|
||||||
|
# Use mod_remoteip instead.
|
||||||
|
#
|
||||||
|
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %O" common
|
||||||
|
LogFormat "%{Referer}i -> %U" referer
|
||||||
|
LogFormat "%{User-agent}i" agent
|
||||||
|
|
||||||
|
# Include of directories ignores editors' and dpkg's backup files,
|
||||||
|
# see README.Debian for details.
|
||||||
|
|
||||||
|
# Include generic snippets of statements
|
||||||
|
IncludeOptional conf-enabled/*.conf
|
||||||
|
|
||||||
|
# Include the virtual host configurations:
|
||||||
|
IncludeOptional sites-enabled/*.conf
|
||||||
|
|
||||||
|
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|
41
compile.cmd
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: Going into the script's directory
|
||||||
|
cd /D "%~dp0"
|
||||||
|
|
||||||
|
|
||||||
|
:sass
|
||||||
|
echo.
|
||||||
|
echo Handling the SASS files
|
||||||
|
echo -----------------------
|
||||||
|
|
||||||
|
:sass-clean
|
||||||
|
echo Cleaning old files...
|
||||||
|
pushd %CD%
|
||||||
|
cd /d %~dp0\htdocs\
|
||||||
|
rmdir /Q /S ".\css"
|
||||||
|
mkdir css
|
||||||
|
popd
|
||||||
|
|
||||||
|
:sass-compile
|
||||||
|
echo Compiling SASS files...
|
||||||
|
pushd %CD%
|
||||||
|
cd /d %~dp0\htdocs\css\
|
||||||
|
call sass "../../scss/nibblepoker.scss" -q --no-source-map > "nibblepoker.css"
|
||||||
|
call sass "../../scss/nibblepoker.scss" -q --no-source-map --style compressed > "nibblepoker.min.css"
|
||||||
|
call sass "../../scss/debugger.scss" -q --no-source-map > "debugger.css"
|
||||||
|
call sass "../../scss/debugger.scss" -q --no-source-map --style compressed > "debugger.min.css"
|
||||||
|
popd
|
||||||
|
|
||||||
|
:sass-assets
|
||||||
|
echo Copying assets...
|
||||||
|
pushd %CD%
|
||||||
|
cd /d %~dp0
|
||||||
|
copy ".\bkgds\*.png" ".\htdocs\css\"
|
||||||
|
popd
|
||||||
|
|
||||||
|
:sass-end
|
||||||
|
|
||||||
|
|
||||||
|
:end
|
17
docker-compose.dev.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
nibblepoker_css:
|
||||||
|
container_name: nibblepoker-css-dev
|
||||||
|
image: php:apache
|
||||||
|
ports:
|
||||||
|
- 32133:80
|
||||||
|
- 32134:443
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Brussels
|
||||||
|
volumes:
|
||||||
|
- ./htdocs:/var/www/html:ro
|
||||||
|
- ./apache2.conf:/etc/apache2/apache2.conf:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
stop_grace_period: 5s
|
||||||
|
labels:
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
command: ["/bin/sh", "-c", "a2enmod headers && a2enmod rewrite && a2enmod ratelimit && apache2-foreground"]
|
21
dockerize.cmd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: Going into the script's directory
|
||||||
|
cd /D "%~dp0"
|
||||||
|
|
||||||
|
|
||||||
|
:dockerize
|
||||||
|
echo.
|
||||||
|
echo Preparing the container
|
||||||
|
echo -----------------------
|
||||||
|
|
||||||
|
:dockerize-up
|
||||||
|
pushd %CD%
|
||||||
|
docker-compose -f docker-compose.dev.yml up -d --force-recreate
|
||||||
|
popd
|
||||||
|
|
||||||
|
:dockerize-end
|
||||||
|
|
||||||
|
|
||||||
|
:end
|
71
htdocs/.htaccess
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# Preventing access to .htaccess
|
||||||
|
<Files ~ "^.*\.([Hh][Tt][Aa]|[Pp][Yy])">
|
||||||
|
Require all denied
|
||||||
|
</Files>
|
||||||
|
|
||||||
|
|
||||||
|
# Fixing some encoding issues on non-HTML files.
|
||||||
|
# Mostly affects the old privacy policies written in french. (Accents have issues in non-utf8 encodings !)
|
||||||
|
AddCharset utf-8 .css .txt .js .md .ts .mjs
|
||||||
|
#<Files ~ "\.txt?$">
|
||||||
|
# Header set Content-Type "text/plain; charset=utf-8"
|
||||||
|
#</Files>
|
||||||
|
#AddDefaultCharset utf-8
|
||||||
|
|
||||||
|
|
||||||
|
# Adding MIME types
|
||||||
|
AddType text/typescript .ts
|
||||||
|
AddType text/javascript .js
|
||||||
|
AddType text/javascript .mjs
|
||||||
|
AddType application/wasm .wasm
|
||||||
|
AddType video/x-matroska .mkv
|
||||||
|
AddType image/apng .apng
|
||||||
|
|
||||||
|
|
||||||
|
# Correcting some default options for security and language/content redirection.
|
||||||
|
# FollowSymlinks is also on since it's required for "mod_rewrite" and the server is jailed/containerized.
|
||||||
|
Options -Indexes +FollowSymlinks -ExecCGI
|
||||||
|
|
||||||
|
|
||||||
|
# Setting up GZIP.
|
||||||
|
# It's optional since reverse-proxies or caching layers will usually do it for us.
|
||||||
|
<ifModule mod_gzip.c>
|
||||||
|
mod_gzip_on Yes
|
||||||
|
mod_gzip_dechunk Yes
|
||||||
|
mod_gzip_item_include file \.(html?|txt|css|js|mjs|php|pl)$
|
||||||
|
mod_gzip_item_include handler ^cgi-script$
|
||||||
|
mod_gzip_item_include mime ^text/.*
|
||||||
|
mod_gzip_item_include mime ^application/x-javascript.*
|
||||||
|
mod_gzip_item_exclude mime ^image/.*
|
||||||
|
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
|
||||||
|
</ifModule>
|
||||||
|
|
||||||
|
|
||||||
|
# Setting some headers for security.
|
||||||
|
# Will cause "fail-safe crashes" if the "headers" module isn't enabled.
|
||||||
|
Header always set X-Frame-Options "deny"
|
||||||
|
#Header always set Content-Security-Policy "default-src 'self' archives.nibblepoker.lu archives.nibblepoker.com nibblepoker.com nibblepoker.lu; style-src 'self' nibblepoker.lu;img-src 'self' archives.nibblepoker.lu archives.nibblepoker.com nibblepoker.com nibblepoker.lu data:; object-src 'none'; child-src 'self'; frame-ancestors 'none'; upgrade-insecure-requests; block-all-mixed-content"
|
||||||
|
Header always set X-XSS-Protection " 1; mode=block"
|
||||||
|
Header always set Referrer-Policy "no-referrer"
|
||||||
|
Header always set X-Content-Type-Options "nosniff"
|
||||||
|
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
||||||
|
#Header always set Cache-Control "max-age=300, public"
|
||||||
|
Header always set Access-Control-Allow-Origin "*"
|
||||||
|
Header always set Permissions-Policy "browsing-topics=(), interest-cohort=()"
|
||||||
|
|
||||||
|
# Removing some headers since they often raise BS alarms about too much back-end info being sent to clients.
|
||||||
|
# Note: These headers can actually be removed by most reverse-proxies.
|
||||||
|
Header unset X-Powered-By
|
||||||
|
|
||||||
|
|
||||||
|
# Handling all other redirections.
|
||||||
|
# Will cause "fail-safe crashes" if the "rewrite" module isn't enabled.
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
# Serving normal pages when a specific language key is at the beginning of the requested path.
|
||||||
|
# We use a regex to match all supported languages and use the 3rd ground, `(.*)` as `$3`, as the "real" path.
|
||||||
|
RewriteRule ^((en|fr)/)(.*)$ /$3 [QSA]
|
||||||
|
|
||||||
|
# Handling requests for "robots.txt" and "sitemap.txt" via PHP.
|
||||||
|
RewriteRule ^(en/|fr/)?robots.txt$ robots.php [L]
|
||||||
|
RewriteRule ^(en/|fr/)?sitemap.txt$ sitemap.php [L]
|
BIN
htdocs/css/3px-tile-0.1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
htdocs/css/3px-tile-0.2.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
htdocs/css/3px-tile-0.4.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
htdocs/css/bright-squares-p100-0.125.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
htdocs/favicon.ico
Normal file
After Width: | Height: | Size: 24 KiB |
1
htdocs/favicon.svg
Normal file
After Width: | Height: | Size: 24 KiB |
5
htdocs/img/logo-large-fluent-unshaded.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1303.2" height="542.16" viewBox="0 0 1303.2 542.16"><defs><linearGradient id="a299bf6a-8cf5-4474-8656-cb5f76fa41e8" x1="13" y1="134.65" x2="210.29" y2="476.37" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#73275c"/><stop offset="1" stop-color="#422445"/></linearGradient><linearGradient id="ee3e14d5-0e76-4b0e-bdc4-78e7350c1c13" x1="203.44" y1="-1.32" x2="500.56" y2="513.32" xlink:href="#a299bf6a-8cf5-4474-8656-cb5f76fa41e8"/><linearGradient id="be64de5a-5784-4fee-a23a-8deec0a0df70" x1="-308.68" y1="178.76" x2="-153.18" y2="448.1" xlink:href="#a299bf6a-8cf5-4474-8656-cb5f76fa41e8"/><linearGradient id="ada75ce1-0735-4fc3-ba29-5391be39058f" x1="-115.19" y1="112.25" x2="68.74" y2="430.82" xlink:href="#a299bf6a-8cf5-4474-8656-cb5f76fa41e8"/><linearGradient id="a77ec1c7-55af-4751-99ba-13e7a8addfce" x1="391.98" y1="2.42" x2="688.35" y2="515.75" xlink:href="#a299bf6a-8cf5-4474-8656-cb5f76fa41e8"/><linearGradient id="f501e634-1283-45b8-bc28-8049a13e865d" x1="621.76" y1="82.53" x2="874" y2="519.42" xlink:href="#a299bf6a-8cf5-4474-8656-cb5f76fa41e8"/><linearGradient id="b1e2793d-c82b-4bd5-9181-4980d34d2f50" x1="218.59" y1="256" x2="485.41" y2="256" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#80366b"/><stop offset="1" stop-color="#5a265e"/></linearGradient><linearGradient id="b1a4c64b-a0f2-46e8-9198-0ff75de5db55" x1="34.99" y1="167.52" x2="199.85" y2="453.07" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="f42ceb00-7d58-40f0-98e3-f042bf926c4b" x1="-304.25" y1="195.8" x2="-166.93" y2="433.63" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="ad01f831-7684-4759-8ae7-6eb9382a0d0f" x1="-110.75" y1="129.29" x2="54.99" y2="416.36" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="bbd6ec22-7c24-4911-8383-730b66694d7d" x1="410.93" y1="34.61" x2="675.92" y2="493.6" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="b1a8e433-cdfa-469f-b44e-4db26505afa9" x1="640.7" y1="114.72" x2="861.57" y2="497.27" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="e5751782-aece-46ae-ae62-286a85acd032" x1="-308.68" y1="178.76" x2="-153.18" y2="448.1" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="a9f99389-288f-4a68-92e9-54c382d416b4" x1="621.76" y1="82.53" x2="874" y2="519.42" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="e24f505c-a92f-494b-87fc-7ed52166559e" x1="-115.19" y1="112.25" x2="68.74" y2="430.82" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/><linearGradient id="a6197c74-717d-4a5f-9f07-81ca3820d7aa" x1="391.98" y1="2.42" x2="688.35" y2="515.75" xlink:href="#b1e2793d-c82b-4bd5-9181-4980d34d2f50"/></defs><g style="isolation:isolate"><g id="ba1b9400-1e7c-49cf-a78f-a732f1f0b446" data-name="Letter Fluent Test">
|
||||||
|
<image width="5430" height="2259" transform="scale(0.24)" xlink:href=" " style="opacity:0.5;mix-blend-mode:multiply"/>
|
||||||
|
<path d="M12,512c-6.6,0-10.1-5.06-7.79-11.24L175.79,43.24c2.31-6.18,6.11-6.18,8.42,0l55.58,148.19c2.31,6.18,2.31,16.29,0,22.47l-23.58,62.86C213.9,282.94,217.4,288,224,288h40c6.6,0,13.9,5.06,16.21,11.24l39.58,105.52C322.1,410.94,318.6,416,312,416H176c-6.6,0-13.9,5.06-16.21,11.24l-27.58,73.52C129.9,506.94,122.6,512,116,512Z" transform="translate(395.64 15)" style="fill:url(#a299bf6a-8cf5-4474-8656-cb5f76fa41e8)"/><path d="M196.21,11.24C193.9,5.06,197.4,0,204,0H308c6.6,0,13.9,5.06,16.21,11.24L507.79,500.76C510.1,506.94,506.6,512,500,512H396c-6.6,0-13.9-5.06-16.21-11.24Z" transform="translate(395.64 15)" style="fill:url(#ee3e14d5-0e76-4b0e-bdc4-78e7350c1c13)"/><path d="M-251.79,500.76C-254.1,506.94-261.4,512-268,512H-372c-6.6,0-10.1-5.06-7.79-11.24l131.21-349.89c2.32-6.18,9.27-13.13,15.45-15.45L-106.65,88c6.18-2.32,9.34.84,7,7Z" transform="translate(395.64 15)" style="fill:url(#be64de5a-5784-4fee-a23a-8deec0a0df70)"/><path d="M-180,512c-6.6,0-10.1-5.06-7.79-11.24L-25.16,67.09C-22.84,60.91-15.89,54-9.71,51.64L116.76,4.21c6.18-2.31,9.34.85,7,7L-59.79,500.76C-62.1,506.94-69.4,512-76,512Z" transform="translate(395.64 15)" style="fill:url(#ada75ce1-0735-4fc3-ba29-5391be39058f)"/><path d="M388.21,11.24c-2.31-6.18.85-9.34,7-7L521.71,51.64c6.18,2.32,13.13,9.27,15.45,15.45L699.79,500.76C702.1,506.94,698.6,512,692,512H588c-6.6,0-13.9-5.06-16.21-11.24Z" transform="translate(395.64 15)" style="fill:url(#a77ec1c7-55af-4751-99ba-13e7a8addfce)"/><g id="fc828ee0-7b32-480d-97f1-6908790fe8aa" data-name="L2"><path d="M611.63,95c-2.32-6.18.84-9.34,7-7l126.48,47.42c6.18,2.32,13.13,9.27,15.45,15.45L891.79,500.76C894.1,506.94,890.6,512,884,512H780c-6.6,0-13.9-5.06-16.21-11.24Z" transform="translate(395.64 15)" style="fill:url(#f501e634-1283-45b8-bc28-8049a13e865d)"/></g><g id="f1716b7c-2405-4f53-a021-1ad04814722f" data-name="Front">
|
||||||
|
<image width="5238" height="2126" transform="translate(23.04 15.84) scale(0.24)" xlink:href=" " style="opacity:0.33;mix-blend-mode:multiply"/>
|
||||||
|
<path d="M219.3,27.24C217,21.06,220.49,16,227.09,16h69.82c6.6,0,13.9,5.06,16.22,11.24L484.7,484.76c2.32,6.18-1.19,11.24-7.79,11.24H407.09c-6.6,0-13.9-5.06-16.22-11.24Z" transform="translate(395.64 15)" style="fill:url(#b1e2793d-c82b-4bd5-9181-4980d34d2f50)"/><path d="M35.09,496c-6.6,0-10.11-5.06-7.79-11.24l148.49-396c2.31-6.18,6.11-6.18,8.42,0L222.7,191.43c2.32,6.18,2.32,16.29,0,22.47l-29.57,78.86c-2.32,6.18,1.18,11.24,7.78,11.24h52c6.6,0,13.9,5.06,16.22,11.24l27.57,73.52c2.32,6.18-1.19,11.24-7.79,11.24h-124c-6.6,0-13.89,5.06-16.21,11.24l-27.57,73.52c-2.32,6.18-9.62,11.24-16.22,11.24Z" transform="translate(395.64 15)" style="fill:url(#b1a4c64b-a0f2-46e8-9198-0ff75de5db55)"/><path d="M-348.91,496c-6.6,0-10.11-5.06-7.79-11.24L-236.15,163.3c2.32-6.18,9.27-13.13,15.45-15.45L-134,115.34c6.17-2.32,9.34.84,7,7l-135.9,362.4c-2.32,6.18-9.62,11.24-16.22,11.24Z" transform="translate(395.64 15)" style="fill:url(#f42ceb00-7d58-40f0-98e3-f042bf926c4b)"/><path d="M-156.91,496c-6.6,0-10.11-5.06-7.79-11.24l152-405.24c2.32-6.18,9.27-13.13,15.45-15.45l86.7-32.52c6.18-2.31,9.34.85,7,7L-70.87,484.76C-73.19,490.94-80.49,496-87.09,496Z" transform="translate(395.64 15)" style="fill:url(#ad01f831-7684-4759-8ae7-6eb9382a0d0f)"/><path d="M599.09,496c-6.6,0-13.9-5.06-16.22-11.24L415.55,38.58c-2.31-6.18.85-9.34,7-7l86.7,32.52c6.18,2.32,13.13,9.27,15.45,15.45l152,405.24c2.32,6.18-1.19,11.24-7.79,11.24Z" transform="translate(395.64 15)" style="fill:url(#bbd6ec22-7c24-4911-8383-730b66694d7d)"/><g id="ad6ded3e-9aa2-4716-9cbd-49bae2c35056" data-name="L2"><path d="M868.7,484.76c2.32,6.18-1.19,11.24-7.79,11.24H791.09c-6.6,0-13.9-5.06-16.22-11.24L639,122.36c-2.32-6.18.85-9.34,7-7l86.71,32.51c6.18,2.32,13.13,9.27,15.45,15.45Z" transform="translate(395.64 15)" style="fill:url(#b1a8e433-cdfa-469f-b44e-4db26505afa9)"/></g></g><g style="opacity:0.75;mix-blend-mode:multiply"><g id="b0e50ac8-6aee-49eb-96af-a0338deb1e97" data-name="x2" style="opacity:0.5"><path d="M-379.79,500.76C-382.1,506.94-378.6,512-372,512h104c6.6,0,13.9-5.06,16.21-11.24L-99.63,95c2.32-6.18-.84-9.34-7-7l-126.48,47.42c-6.18,2.32-13.13,9.27-15.45,15.45Z" transform="translate(395.64 15)" style="fill:url(#e5751782-aece-46ae-ae62-286a85acd032)"/><path d="M760.58,150.87c-2.32-6.18-9.27-13.13-15.45-15.45L618.65,88c-6.18-2.32-9.34.84-7,7L763.79,500.76C766.1,506.94,773.4,512,780,512H884c6.6,0,10.1-5.06,7.79-11.24Z" transform="translate(395.64 15)" style="fill:url(#a9f99389-288f-4a68-92e9-54c382d416b4)"/></g><g id="f803c4f0-f3ae-4d0f-9e31-b2e9bc6c90f1" data-name="x1" style="opacity:0.25"><path d="M-187.79,500.76C-190.1,506.94-186.6,512-180,512H-76c6.6,0,13.9-5.06,16.21-11.24L123.79,11.24c2.31-6.18-.85-9.34-7-7L-9.71,51.64C-15.89,54-22.84,60.91-25.16,67.09Z" transform="translate(395.64 15)" style="fill:url(#e24f505c-a92f-494b-87fc-7ed52166559e)"/><path d="M537.16,67.09c-2.32-6.18-9.27-13.13-15.45-15.45L395.24,4.21c-6.18-2.31-9.34.85-7,7L571.79,500.76C574.1,506.94,581.4,512,588,512H692c6.6,0,10.1-5.06,7.79-11.24Z" transform="translate(395.64 15)" style="fill:url(#a6197c74-717d-4a5f-9f07-81ca3820d7aa)"/></g></g></g></g></svg>
|
After Width: | Height: | Size: 7.9 KiB |
129
htdocs/index.php
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
|
||||||
|
<!--<meta name="viewport" content="width=device-width"/>-->
|
||||||
|
<meta name="author" content="Herwin Bozet">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||||
|
<link rel="alternate icon" href="/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="/css/nibblepoker.min.css">
|
||||||
|
<link rel="stylesheet" href="/css/debugger.min.css">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
referrerpolicy="no-referrer" />
|
||||||
|
<title>NibblePoker's CSS Theme</title>
|
||||||
|
<meta name="description" content="...">
|
||||||
|
<meta property="og:title" content="NibblePoker"/>
|
||||||
|
<meta property="og:type" content="website"/>
|
||||||
|
<meta property="og:url" content="https://css.nibblepoker.com/"/>
|
||||||
|
<meta property="og:image" content="???"/>
|
||||||
|
<meta property="og:image:type" content="image/png"/>
|
||||||
|
<meta property="og:description" content="..."/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="layout-generic">
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<?php include("./parts/sidebar.php"); ?>
|
||||||
|
|
||||||
|
<header class="w-full p-m pl-s">
|
||||||
|
<h1 class="t-size-17 t-w-500">
|
||||||
|
<i class="fa-solid fa-house mr-s"></i><span np-l10n-key="header.title">Homepage</span>
|
||||||
|
</h1>
|
||||||
|
<details id="lang-selector" class="b p-mxs px-s bkgd-blank-dark r-m">
|
||||||
|
<summary>
|
||||||
|
<i class="fad fa-language"></i>
|
||||||
|
<span class="mobile-hide t-w-500"> Language</span>
|
||||||
|
<i class="fa fa-angle-down"></i>
|
||||||
|
</summary>
|
||||||
|
<div class="p-xs border bkgd-surround r-m t-w-500">
|
||||||
|
<a href="/en/" class="bland-link">
|
||||||
|
<p class="mb-s px-xxs">English</p>
|
||||||
|
</a>
|
||||||
|
<a href="/fr/" class="bland-link">
|
||||||
|
<p class="my-s px-xxs">French</p>
|
||||||
|
</a>
|
||||||
|
<hr class="subtle m-0">
|
||||||
|
<a href="/" class="bland-link">
|
||||||
|
<p class="mt-xs px-xxs">Automatic</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main id="main" class="b br-0 p-m rl-m">
|
||||||
|
<!-- PHP Utils -->
|
||||||
|
<?php
|
||||||
|
$root_path = __DIR__;
|
||||||
|
|
||||||
|
// Source: https://stackoverflow.com/a/2510459
|
||||||
|
function formatBytes($bytes, $precision = 2): string {
|
||||||
|
$units = array('B', 'KiB', 'MiB', 'GiB', 'TiB');
|
||||||
|
|
||||||
|
$bytes = max($bytes, 0);
|
||||||
|
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
|
||||||
|
$pow = min($pow, count($units) - 1);
|
||||||
|
|
||||||
|
$bytes /= pow(1024, $pow);
|
||||||
|
|
||||||
|
return round($bytes, $precision) . " " . $units[$pow];
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- Introduction -->
|
||||||
|
<?php include("./parts/intro.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Weights -->
|
||||||
|
<?php include("./parts/text_weights.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Styles -->
|
||||||
|
<?php include("./parts/text_styles.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Alignment -->
|
||||||
|
<?php include("./parts/text_alignment.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Modifiers -->
|
||||||
|
<?php include("./parts/text_modifiers.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Links -->
|
||||||
|
<?php include("./parts/text_links.php"); ?>
|
||||||
|
|
||||||
|
<!-- Text > Misc -->
|
||||||
|
<?php include("./parts/text_misc.php"); ?>
|
||||||
|
|
||||||
|
<!-- Spacing -->
|
||||||
|
<?php include("./parts/spacing.php"); ?>
|
||||||
|
|
||||||
|
<!-- Rounding -->
|
||||||
|
<?php include("./parts/rounding.php"); ?>
|
||||||
|
|
||||||
|
<!-- Lists -->
|
||||||
|
<?php include("./parts/lists.php"); ?>
|
||||||
|
|
||||||
|
<!-- Grids -->
|
||||||
|
<?php include("./parts/grids.php"); ?>
|
||||||
|
|
||||||
|
<!-- Horizontal Rulers -->
|
||||||
|
<?php include("./parts/horizontal_rulers.php"); ?>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="d-flex flex-align-center w-full p-s py-xs">
|
||||||
|
<button id="sidebar-toggle-footer" class="p-xs border r-s t-size-10"
|
||||||
|
aria-label="Open and close the navigation sidebar.">
|
||||||
|
<i class="fa fa-bars px-xxs" aria-hidden="true"></i>
|
||||||
|
</button>
|
||||||
|
<p class="flex-fill t-center t-size-10 t-w-500 t-half-muted">
|
||||||
|
<a class="a-hidden" href="https://nibblepoker.lu/privacy/">Privacy policy</a>
|
||||||
|
</p>
|
||||||
|
<a href="/">
|
||||||
|
<img id="logo-footer" alt="Website's logo" draggable="false"
|
||||||
|
src="https://nibblepoker.lu/resources/NibblePoker/images/logos/v2_full_unshaded_original.svg">
|
||||||
|
</a>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
18
htdocs/js/sidebar.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
let isSidebarVisible = true;
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
const eSidebar = document.getElementById("sidebar");
|
||||||
|
const eMain = document.getElementById("main");
|
||||||
|
|
||||||
|
// TODO: Emit an event to help Splide re-align after the sidebar has changed state.
|
||||||
|
document.getElementById("sidebar-toggle-footer").onclick = function() {
|
||||||
|
if(isSidebarVisible) {
|
||||||
|
eSidebar.classList.add("retracted");
|
||||||
|
eMain.classList.add("expanded");
|
||||||
|
} else {
|
||||||
|
eSidebar.classList.remove("retracted");
|
||||||
|
eMain.classList.remove("expanded");
|
||||||
|
}
|
||||||
|
isSidebarVisible = !isSidebarVisible;
|
||||||
|
};
|
||||||
|
});
|
137
htdocs/parts/grids.php
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="grids"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Grids
|
||||||
|
<i class="fa-solid fa-table-cells-large f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<p>
|
||||||
|
Grids are defined by using the <span class="code">grid</span> and <span class="code">col-X</span> class where
|
||||||
|
<span class="code">X</span> represents the number of columns and can be
|
||||||
|
<span class="code">1</span>, <span class="code">2</span>,
|
||||||
|
<span class="code">3</span>, <span class="code">4</span>,
|
||||||
|
<span class="code">6</span> or <span class="code">8</span>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!--<p>You should preferably use <span class="code"><div></span> elements for the grid container and each cell.</p>-->
|
||||||
|
<!--<p>[Equal width for cells, maybe]</p>-->
|
||||||
|
|
||||||
|
<p class="t-bold">Examples without inter-cell gaps:</p>
|
||||||
|
<div class="gap-xs">
|
||||||
|
<p><span class="code">div.grid.col-1>div</span></p>
|
||||||
|
<div class="grid col-1 debug p-xxs">
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #1</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p><span class="code">div.grid.col-2>div*2</span></p>
|
||||||
|
<div class="grid col-2 debug p-xxs">
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #1</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #2</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p><span class="code">div.grid.col-6>div*6</span></p>
|
||||||
|
<div class="grid col-6 debug p-xxs">
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #1</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #2</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #3</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #4</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #5</div>
|
||||||
|
<div class="bkgd-blank-dark debug">Cell #6</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Inter-cell gaps can also be setup by using the <span class="code">grid-gap-X</span> or
|
||||||
|
<span class="code">col-gap-X</span> classes and replacing the <span class="code">X</span>
|
||||||
|
with the standard size suffixes.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="t-bold">Examples with inter-cell gaps:</p>
|
||||||
|
<div class="gap-xs">
|
||||||
|
<?php
|
||||||
|
foreach(["xs", "m", "l"] as &$gapSize) {
|
||||||
|
echo('<p><span class="code">div.grid.col-3.grid-gap-' . $gapSize . '>div*6</span></p>');
|
||||||
|
echo('<div class="grid col-3 grid-gap-' . $gapSize . ' debug p-xxs">');
|
||||||
|
for($iGap = 1; $iGap <= 6; $iGap++) {
|
||||||
|
echo('<div class="bkgd-blank-dark debug">Cell #' . $iGap . '</div>');
|
||||||
|
}
|
||||||
|
echo('</div>');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b>TODO: All mobile rules, Add non-identical sizing</b>
|
||||||
|
|
||||||
|
|
||||||
|
<details class="border bkgd-blank r-m mt-s">
|
||||||
|
<summary class="p-xs">Click to show/hide all classes</summary>
|
||||||
|
<div class="p-xs bt bkgd-blank-dark">
|
||||||
|
<p>
|
||||||
|
<span class="code mr-xs">grid</span>
|
||||||
|
<span class="t-super-muted">Defined a grid container</span>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<hr class="subtle my-s">
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p><span class="code mr-xs">grid-col-1</span></p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p><span class="code mr-xs">col-1</span></p>
|
||||||
|
</td>
|
||||||
|
<td rowspan="6">
|
||||||
|
<span class="t-super-muted">Specifies the column count</span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$gridColCounts = [/*"1",*/ "2", "3", "4", "6", "8"];
|
||||||
|
foreach($gridColCounts as &$gridColCount){
|
||||||
|
echo('<tr>');
|
||||||
|
echo('<td><p><span class="code mr-xs">grid-col-'.$gridColCount.'</span></p></td>');
|
||||||
|
echo('<td><p><span class="code mr-xs">col-'.$gridColCount.'</span></p></td>');
|
||||||
|
echo('</tr>');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr class="subtle my-s">
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p><span class="code mr-xs">grid-gap-xs</span></p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p><span class="code mr-xs">gap-xs</span></p>
|
||||||
|
</td>
|
||||||
|
<td rowspan="6">
|
||||||
|
<span class="t-super-muted">Specifies the inter-cell gap size</span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$gridGapSizes = [/*"xs",*/ "s", "m", "l", "xl"];
|
||||||
|
foreach($gridGapSizes as &$gridGapSize){
|
||||||
|
echo('<tr>');
|
||||||
|
echo('<td><p><span class="code mr-xs">grid-gap-'.$gridGapSize.'</span></p></td>');
|
||||||
|
echo('<td><p><span class="code mr-xs">gap-'.$gridGapSize.'</span></p></td>');
|
||||||
|
echo('</tr>');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
echo('<hr class="subtle my-s">');
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
|
||||||
|
</section>
|
40
htdocs/parts/horizontal_rulers.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="horizontal-rulers"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Horizontal Rulers
|
||||||
|
<i class="fa-solid fa-ruler f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<p>Generic: <span class="code">hr</span></p>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p class="mt-s">Subtle: <span class="code">hr.subtle</span>, <span class="code">hr.hr-subtle</span></p>
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<p class="mt-s">Dashed: <span class="code">hr.dashed</span>, <span class="code">hr.hr-dashed</span></p>
|
||||||
|
<hr class="dashed">
|
||||||
|
|
||||||
|
<p class="mt-s">Dotted: <span class="code">hr.dotted</span>, <span class="code">hr.hr-dotted</span></p>
|
||||||
|
<hr class="dotted">
|
||||||
|
|
||||||
|
<p class="mt-s">Double:
|
||||||
|
<span class="code">hr.double</span>, <span class="code">hr.hr-double</span>,
|
||||||
|
<span class="code">hr.thick</span>, <span class="code">hr.hr-thick</span>
|
||||||
|
</p>
|
||||||
|
<hr class="double">
|
||||||
|
|
||||||
|
<p class="mt-s">Outset: <span class="code">hr.outset</span>, <span class="code">hr.hr-outset</span></p>
|
||||||
|
<hr class="outset">
|
||||||
|
<hr class="subtle outset">
|
||||||
|
|
||||||
|
<p class="mt-s">Cutting indicator: <span class="code">hr.cut-here</span>, <span class="code">hr.hr-cut-here</span></p>
|
||||||
|
<hr class="dotted cut-here">
|
||||||
|
<hr class="dashed cut-here">
|
||||||
|
|
||||||
|
</section>
|
116
htdocs/parts/intro.php
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="p-xs b r-s bkgd-grid">
|
||||||
|
<h2 class="t-w-500 t-size-14">Welcome to <i class="ml-xxs">NibblePoker.com</i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<h3 class="t-size-12 mb-xxs">About the stylesheet</h3>
|
||||||
|
<p class="ml-xs">
|
||||||
|
<i>NibbleCSS</i> was originally conceived for internal use following a bout of performance issues with
|
||||||
|
off-the-shelf stylesheets on low-end and mobile devices.<br>
|
||||||
|
However, it rapidly got used outside its intended environment and was spun-off into a separate a
|
||||||
|
publicly accessible and truly free project.
|
||||||
|
</p>
|
||||||
|
<p class="ml-xs mt-s">
|
||||||
|
<i>NibbleCSS</i> is also released into the public domain as I do not believe forcing people to include licenses
|
||||||
|
or disclaimers is truly free, especially when said licenses propagate themselves like tumorous growths.<br>
|
||||||
|
Following that philosophy, <i>NibbleCSS</i> also makes use of
|
||||||
|
<a href="https://meyerweb.com/eric/tools/css/reset/">Eric A. Meyer's Reset.css</a>
|
||||||
|
which was also released into the public domain in 2011.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 class="t-size-12 mb-xxs mt-m">Design philosophy</h3>
|
||||||
|
<div class="ml-xs">
|
||||||
|
<h4 class="t-size-11">Core Stylesheet</h4>
|
||||||
|
<p>These rules apply to the "core" part of the stylesheet:</p>
|
||||||
|
<ul>
|
||||||
|
<li>No implicit sizes, margins or paddings</li>
|
||||||
|
<li>No styles from class-less DOM, except for styling elements</li>
|
||||||
|
<li>Self-sufficient and embeddable as a single file or text blob</li>
|
||||||
|
<li>Competitive minified size</li>
|
||||||
|
<li>Standardized naming scheme</li>
|
||||||
|
</ul>
|
||||||
|
<!-- Avoid nested divs, keep the logical DOM layout, -->
|
||||||
|
<h4 class="t-size-11 mt-s">Site Stylesheet</h4>
|
||||||
|
<ul>
|
||||||
|
<li>Prefabs for common elements</li>
|
||||||
|
<ul>
|
||||||
|
<li>Bound to specific elements</li>
|
||||||
|
<li>???</li>
|
||||||
|
<li>???</li>
|
||||||
|
<li>No forced smooth transition</li>
|
||||||
|
<li><b>MUST</b> be snappy on low-end hardware, no snagging allowed</li>
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="t-size-12 mb-xxs mt-m">Downloads</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center ml-xs">
|
||||||
|
<thead>
|
||||||
|
<th>Stylesheet</th>
|
||||||
|
<th>Minified CSS</th>
|
||||||
|
<th>Regular CSS</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>NibbleCSS</td>
|
||||||
|
<td>
|
||||||
|
<a href="/css/nibblepoker.min.css"
|
||||||
|
title="Download the minified full stylesheet"
|
||||||
|
class="a-hidden"
|
||||||
|
download>
|
||||||
|
<button class="success p-xs b r-m">
|
||||||
|
<i class="fa fa-download"></i>
|
||||||
|
nibblepoker.min.css
|
||||||
|
(<?php echo(formatBytes(filesize($root_path . "/css/nibblepoker.min.css"))) ?>)
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="/css/nibblepoker.css"
|
||||||
|
title="Download the full stylesheet"
|
||||||
|
class="a-hidden"
|
||||||
|
download>
|
||||||
|
<button class="p-xs b r-m">
|
||||||
|
<i class="fa fa-download"></i>
|
||||||
|
nibblepoker.css
|
||||||
|
(<?php echo(formatBytes(filesize($root_path . "/css/nibblepoker.css"))) ?>)
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Debugger</td>
|
||||||
|
<td>
|
||||||
|
<a href="/css/debugger.min.css"
|
||||||
|
title="Download the minified debugging stylesheet"
|
||||||
|
class="a-hidden"
|
||||||
|
download>
|
||||||
|
<button class="p-xs b r-m">
|
||||||
|
<i class="fa fa-download"></i>
|
||||||
|
debugger.min.css
|
||||||
|
(<?php echo(formatBytes(filesize($root_path . "/css/debugger.min.css"))) ?>)
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="/css/debugger.css"
|
||||||
|
title="Download the debugging stylesheet"
|
||||||
|
class="a-hidden"
|
||||||
|
download>
|
||||||
|
<button class="p-xs b r-m">
|
||||||
|
<i class="fa fa-download"></i>
|
||||||
|
debugger.css
|
||||||
|
(<?php echo(formatBytes(filesize($root_path . "/css/debugger.css"))) ?>)
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
25
htdocs/parts/lists.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="lists"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Lists
|
||||||
|
<i class="fa-solid fa-list f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<p>???.</p>
|
||||||
|
|
||||||
|
<div class="debug">
|
||||||
|
<ul>
|
||||||
|
<li>Line 1</li>
|
||||||
|
<li>Line 2<br>Line 2 continued</li>
|
||||||
|
<li>Line 3</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b>TODO: All a detail of all classes</b>
|
||||||
|
</section>
|
33
htdocs/parts/rounding.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="rounding"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Rounding
|
||||||
|
<i class="fa-solid fa-bezier-curve f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<p>Rounding can be done on a corner/side/global basis using the standard size suffixes and some special ones.</p>
|
||||||
|
<p>These examples will have ???.</p>
|
||||||
|
|
||||||
|
<p class="t-bold">Sizes:</p>
|
||||||
|
<div class="grid col-4 col-medium-3 col-mobile-2 gap-xs t-center">
|
||||||
|
<div class="r-0 p-xs b bkgd-blank-dark debug"><span class="code">r-0</span></div>
|
||||||
|
<div class="r-xs p-xs b bkgd-blank-dark debug"><span class="code">r-xs</span></div>
|
||||||
|
<div class="r-s p-xs b bkgd-blank-dark debug"><span class="code">r-s</span></div>
|
||||||
|
<div class="r-m p-xs b bkgd-blank-dark debug"><span class="code">r-m</span></div>
|
||||||
|
<div class="r-l p-xs b bkgd-blank-dark debug"><span class="code">r-l</span></div>
|
||||||
|
<div class="r-xl p-xs b bkgd-blank-dark debug"><span class="code">r-xl</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="t-bold">Special classes:</p>
|
||||||
|
<div class="grid col-4 col-medium-3 col-mobile-2 gap-xs t-center">
|
||||||
|
<div class="r-r p-xs b bkgd-blank-dark debug"><span class="code">r-r</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b>TODO: All a detail of all classes</b>
|
||||||
|
</section>
|
99
htdocs/parts/sidebar.php
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<nav id="sidebar" class="sidebar p-m pt-l">
|
||||||
|
<a href="/" class="no-select">
|
||||||
|
<img class="logo-sidebar-v2"
|
||||||
|
src="/img/logo-large-fluent-unshaded.svg"
|
||||||
|
alt="Website's logo"
|
||||||
|
draggable="false">
|
||||||
|
</a>
|
||||||
|
<p class="quantum t-logo-text mb-s mt-xs t-muted ucase">
|
||||||
|
N<span class="t-super-muted">ibble</span>P<span class="t-super-muted">oker</span>
|
||||||
|
</p>
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<p class="t-bold t-size-14 py-xxs t-half-muted _t-underline t-center">Text</p>
|
||||||
|
<a class="a-hidden" href="#text-weights">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-text-height pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Weights</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#text-styles">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-italic pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Styles</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#text-alignment">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-text-width pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Alignment</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#text-modifiers">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-subscript pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Modifiers</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#text-links">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-link pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Links</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#text-misc">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-ellipsis pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Miscellaneous</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<a class="a-hidden" href="#spacing">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-ellipsis pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Spacing</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a class="a-hidden" href="#rounding">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-bezier-curve pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Rounding</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<a class="a-hidden" href="#lists">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-list pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Lists</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<a class="a-hidden" href="#grids">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-table-cells-large pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Grids</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<hr class="subtle">
|
||||||
|
|
||||||
|
<a class="a-hidden" href="#horizontal-rulers">
|
||||||
|
<p class="t-size-18 t-w-500 py-xs sidebar-entry">
|
||||||
|
<i class="fa-solid fa-ruler pr-xs t-size-12 t-half-muted"></i>
|
||||||
|
<span class="t-size-12">Horizontal Rulers</span>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</nav>
|
92
htdocs/parts/spacing.php
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="spacing"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Spacing
|
||||||
|
<i class="fa-solid fa-ellipsis f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<p>
|
||||||
|
Paddings and margins can be applied on a side/axis/global basis using the standard size suffixes.<br>
|
||||||
|
Additionally, the <span class="code">xxs</span> size is also available for those rare tiny spacing needs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="mt-s">
|
||||||
|
The examples below have a bordered & padded container, and a regular bordered sub-container.<br>
|
||||||
|
Using margins would have the same effect, if you ignore margin folding.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="grid col-3 col-medium-2 col-mobile-1 gap-xs mt-s t-center">
|
||||||
|
<div><div class="debug p-xxs"><div class="debug"><p><span class="code">p-xxs</span></p></div></div></div>
|
||||||
|
<div><div class="debug p-xs"><div class="debug"><p><span class="code">p-xs</span></p></div></div></div>
|
||||||
|
<div><div class="debug p-s"><div class="debug"><p><span class="code">p-s</span></p></div></div></div>
|
||||||
|
<div><div class="debug p-m"><div class="debug"><p><span class="code">p-m</span></p></div></div></div>
|
||||||
|
<div><div class="debug p-l"><div class="debug"><p><span class="code">p-l</span> </p></div></div></div>
|
||||||
|
<div><div class="debug p-xl"><div class="debug"><p><span class="code">p-xl</span></p></div></div></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<details class="border bkgd-blank r-m mt-s">
|
||||||
|
<summary class="p-xs">Click to show/hide all classes</summary>
|
||||||
|
<div class="p-xs bt bkgd-blank-dark">
|
||||||
|
<?php
|
||||||
|
$spacingSizes = ["0", "xxs", "xs", "s", "m", "l", "xl"];
|
||||||
|
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">p-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">General padding</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">m-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">General margin</span></p>');
|
||||||
|
|
||||||
|
echo('<hr class="subtle my-s">');
|
||||||
|
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">px-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Horizontal padding</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">py-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Vertical padding</span></p>');
|
||||||
|
|
||||||
|
echo('<p class="mt-xs">');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">mx-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Horizontal margin</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">my-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Vertical margin</span></p>');
|
||||||
|
|
||||||
|
echo('<hr class="subtle my-s">');
|
||||||
|
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">pt-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Top padding</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">pb-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Bottom padding</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">pl-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Left padding</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">pr-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Right padding</span></p>');
|
||||||
|
|
||||||
|
echo('<p class="mt-xs">');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">mt-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Top margin</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">mb-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Bottom margin</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">ml-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Left margin</span></p>');
|
||||||
|
echo('<p>');
|
||||||
|
foreach($spacingSizes as &$spacingSize){echo('<span class="code mr-xs">mr-'.$spacingSize.'</span>');}
|
||||||
|
echo('<span class="t-super-muted">Right margin</span></p>');
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</section>
|
54
htdocs/parts/text_alignment.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-alignment"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Alignment
|
||||||
|
<i class="fa-solid fa-text-width f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Left</p></td>
|
||||||
|
<td><p class="t-left">Left</p></td>
|
||||||
|
<td><span class="code">t-left</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Center</p></td>
|
||||||
|
<td><p class="t-center">Centered</p></td>
|
||||||
|
<td><span class="code">t-center</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Right</p></td>
|
||||||
|
<td><p class="t-right">Right</p></td>
|
||||||
|
<td><span class="code">t-right</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Start</p></td>
|
||||||
|
<td><p class="t-start">Start</p></td>
|
||||||
|
<td><span class="code">t-start</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">End</p></td>
|
||||||
|
<td><p class="t-end">End</p></td>
|
||||||
|
<td><span class="code">t-end</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Justify</p></td>
|
||||||
|
<td><p class="t-justify">Lorem ipsum.<br>Donor si amet elit.</p></td>
|
||||||
|
<td><span class="code">t-justify</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<button>Switch text direction</button>
|
||||||
|
</section>
|
67
htdocs/parts/text_links.php
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-links"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Links
|
||||||
|
<i class="fa-solid fa-link f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<h3 class="t-size-12 mb-xs">Regular anchors</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Source</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><a href="#">Real anchor</a></td>
|
||||||
|
<td><span class="code">a</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="a">Fake anchor</p></td>
|
||||||
|
<td><span class="code">*.a</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="t-size-12 mb-xs mt-m">Bland anchors</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Source</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><a href="#" class="a-bland">Bland anchor</a></td>
|
||||||
|
<td><span class="code">a.a-bland</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="a a-bland">Bland 'anchor'</p></td>
|
||||||
|
<td><span class="code">*.a.a-bland</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="t-size-12 mb-xs mt-m">Hidden anchors</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Source</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><a href="#" class="a-hidden">Hidden anchor</a></td>
|
||||||
|
<td><span class="code">a.a-hidden</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="a a-hidden">Hidden 'anchor'</p></td>
|
||||||
|
<td><span class="code">*.a.a-hidden</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
43
htdocs/parts/text_misc.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-misc"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Miscellaneous
|
||||||
|
<i class="fa-solid fa-ellipsis f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">No wrap</p></td>
|
||||||
|
<td><p class="t-nowrap">Cannot really be shown</p></td>
|
||||||
|
<td><span class="code">t-nowrap</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Half muted</p></td>
|
||||||
|
<td><p class="t-half-muted">Half muted</p></td>
|
||||||
|
<td><span class="code">t-half-muted</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Muted</p></td>
|
||||||
|
<td><p class="t-muted">Muted text</p></td>
|
||||||
|
<td><span class="code">t-muted</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Super muted</p></td>
|
||||||
|
<td><p class="t-super-muted">Super Muted</p></td>
|
||||||
|
<td><span class="code">t-super-muted</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
42
htdocs/parts/text_modifiers.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-modifiers"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Modifiers
|
||||||
|
<i class="fa-solid fa-subscript f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Original</th>
|
||||||
|
<th>Transformed</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Uppercase</p></td>
|
||||||
|
<td><p>Regular Case</p></td>
|
||||||
|
<td><p class="t-ucase">Regular Case</p></td>
|
||||||
|
<td><span class="code">t-ucase</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Lowercase</p></td>
|
||||||
|
<td><p>Regular Case</p></td>
|
||||||
|
<td><p class="t-lcase">Regular Case</p></td>
|
||||||
|
<td><span class="code">t-lcase</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Capitalize</p></td>
|
||||||
|
<td><p>no case</p></td>
|
||||||
|
<td><span class="t-capitalize">no case</span></td>
|
||||||
|
<td><span class="code">t-capitalize</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
54
htdocs/parts/text_styles.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-styles"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Styles
|
||||||
|
<i class="fa-solid fa-italic f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
<th>Elements</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Italic</p></td>
|
||||||
|
<td><p class="t-italic">Italic text</p></td>
|
||||||
|
<td><span class="code">t-italic</span></td>
|
||||||
|
<td><span class="code">i</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Oblique</p></td>
|
||||||
|
<td><p class="t-oblique">Oblique text</p></td>
|
||||||
|
<td><span class="code">t-oblique</span></td>
|
||||||
|
<td><span class="t-muted">N/A</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Underline</p></td>
|
||||||
|
<td><p class="t-underline">Underlined text</p></td>
|
||||||
|
<td><span class="code">t-underline</span></td>
|
||||||
|
<td><span class="code">u</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Strikethrough</p></td>
|
||||||
|
<td><p class="t-strikethrough">Struck text</p></td>
|
||||||
|
<td><span class="code">t-strikethrough</span></td>
|
||||||
|
<td><span class="code">s</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Overline</p></td>
|
||||||
|
<td><p class="t-overline">Overline text</p></td>
|
||||||
|
<td><span class="code">t-overline</span></td>
|
||||||
|
<td><span class="t-muted">N/A</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
64
htdocs/parts/text_weights.php
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?php
|
||||||
|
// Making sure the file is included and not accessed directly.
|
||||||
|
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
|
||||||
|
header('HTTP/1.1 403 Forbidden'); die();
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<a id="text-weights"></a>
|
||||||
|
<div class="p-xs b r-s bkgd-grid mt-m">
|
||||||
|
<h2 class="t-w-500 t-size-14">Text<i class="fa-solid fa-chevron-right mx-xs"></i>Weights
|
||||||
|
<i class="fa-solid fa-text-height f-right"></i></h2>
|
||||||
|
</div>
|
||||||
|
<section class="p-s">
|
||||||
|
<h3 class="t-size-12 mb-xs">Numeric Weights</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
for($i = 1; $i<=9; $i++) {
|
||||||
|
echo('<tr>');
|
||||||
|
echo('<td class="t-bold">' . ($i * 100) . '</td>');
|
||||||
|
echo('<td class="t-w-' . ($i * 100) . '">Lorem Ipsum donor.</td>');
|
||||||
|
echo('<td><span class="code">t-w-' . ($i * 100) . '</span></td>');
|
||||||
|
echo('</tr>');
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="t-size-12 mb-xs mt-m">Aliased Weights</h3>
|
||||||
|
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center">
|
||||||
|
<thead>
|
||||||
|
<th>Style</th>
|
||||||
|
<th>Example</th>
|
||||||
|
<th>Classes</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Lighter</p></td>
|
||||||
|
<td><p class="t-lighter">Lorem Ipsum 123 !</p></td>
|
||||||
|
<td><span class="code mr-xs">t-lighter</span><span class="code">t-w-lighter</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Normal</p></td>
|
||||||
|
<td><p class="t-normal">Lorem Ipsum 123 !</p></td>
|
||||||
|
<td><span class="code mr-xs">t-normal</span><span class="code">t-w-normal</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Bold</p></td>
|
||||||
|
<td><p class="t-bold">Lorem Ipsum 123 !</p></td>
|
||||||
|
<td><span class="code mr-xs">t-bold</span><span class="code">t-w-bold</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p class="t-bold">Bolder</p></td>
|
||||||
|
<td><p class="t-bolder">Lorem Ipsum 123 !</p></td>
|
||||||
|
<td><span class="code mr-xs">t-bolder</span><span class="code">t-w-bolder</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
37
minify.cmd
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: Going into the script's directory
|
||||||
|
cd /D "%~dp0"
|
||||||
|
|
||||||
|
|
||||||
|
:minify
|
||||||
|
echo.
|
||||||
|
echo Minifying HTML
|
||||||
|
echo --------------
|
||||||
|
|
||||||
|
:minify-clean
|
||||||
|
echo Cleaning old files...
|
||||||
|
pushd %CD%
|
||||||
|
cd /d %~dp0\htdocs\
|
||||||
|
del /Q /S "*.min.html"
|
||||||
|
popd
|
||||||
|
|
||||||
|
:minify-run
|
||||||
|
echo Minifying HTML files...
|
||||||
|
pushd %CD%
|
||||||
|
cd /d %~dp0\htdocs
|
||||||
|
call html-minifier --case-sensitive ^
|
||||||
|
--collapse-whitespace ^
|
||||||
|
--decode-entities ^
|
||||||
|
--remove-attribute-quotes ^
|
||||||
|
--remove-comments ^
|
||||||
|
--sort-attributes ^
|
||||||
|
-o "index.min.html" ^
|
||||||
|
"index.html"
|
||||||
|
popd
|
||||||
|
|
||||||
|
:minify-end
|
||||||
|
|
||||||
|
|
||||||
|
:end
|
12
readme.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# NibblePoker's CSS Theme (W.I.P.)
|
||||||
|
A simple and minimalist CSS stylesheet used across all my websites and web-based applications.
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
The code in this repository is released under [CC0 1.0 Universal (CC0 1.0) (Public Domain)](LICENSE-CC0)
|
||||||
|
|
||||||
|
This repository includes and redistributes [reset.css](https://meyerweb.com/eric/tools/css/reset/) from
|
||||||
|
[meyerweb.com](https://meyerweb.com/) which is also in the public domain.
|
||||||
|
|
||||||
|
**This license doesn't apply to the logos, images, names and other external resources provided
|
||||||
|
and/or used in this repository.**
|
8
scss/config.scss
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
// Add the "w-000px"/"h-000px" classes.
|
||||||
|
$add-px-sizing-rules: false;
|
||||||
|
|
||||||
|
$nibblepoker-background-root: "./";
|
||||||
|
|
||||||
|
$use-b64-backgrounds: true;
|
64
scss/core/border.scss
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Borders */
|
||||||
|
|
||||||
|
.b, .border {
|
||||||
|
border: 1px solid #{$color-border-all};
|
||||||
|
}
|
||||||
|
|
||||||
|
.b-0 {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin border-maker($side-key, $side-css-key) {
|
||||||
|
.b#{$side-key} {
|
||||||
|
border-#{$side-css-key}: 1px solid #{$color-border-all};
|
||||||
|
}
|
||||||
|
.b#{$side-key}-0 {
|
||||||
|
border-#{$side-css-key}: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include border-maker("t", "top");
|
||||||
|
@include border-maker("b", "bottom");
|
||||||
|
@include border-maker("l", "left");
|
||||||
|
@include border-maker("r", "right");
|
||||||
|
|
||||||
|
.bx {
|
||||||
|
border-left: 1px solid #{$color-border-all};
|
||||||
|
border-right: 1px solid #{$color-border-all};
|
||||||
|
}
|
||||||
|
.bx-0 {
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.by {
|
||||||
|
border-top: 1px solid #{$color-border-all};
|
||||||
|
border-bottom: 1px solid #{$color-border-all};
|
||||||
|
}
|
||||||
|
.by-0 {
|
||||||
|
border-top: 0;
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//.border {
|
||||||
|
// border: 1px solid;
|
||||||
|
//
|
||||||
|
// //&.b-light {
|
||||||
|
// // border: 1px solid #{$color-border-light};
|
||||||
|
// //}
|
||||||
|
//}
|
||||||
|
|
||||||
|
//main {
|
||||||
|
// .border {
|
||||||
|
// border: 1px solid #{$color-border-main};
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
//* {
|
||||||
|
// .dark-mode & {
|
||||||
|
// border-color: #{$color-border-all};
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
19
scss/core/containers.scss
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Core > Containers */
|
||||||
|
|
||||||
|
.fluid-container {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
// First children, or all, don't care tbh.
|
||||||
|
& > * {
|
||||||
|
position: absolute;
|
||||||
|
width: inherit;
|
||||||
|
height: inherit;
|
||||||
|
max-height: inherit;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
}
|
18
scss/core/display.scss
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Display */
|
||||||
|
|
||||||
|
.d-none {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-inline-block {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-hidden {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Notes:
|
||||||
|
// * 'core/grid.scss' defines '.d-grid' ! (Add here if grids are disabled !)
|
77
scss/core/flex.scss
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Flex */
|
||||||
|
|
||||||
|
// Display properties
|
||||||
|
.d-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-inline-flex {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Content justification
|
||||||
|
.flex-justify-start {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-end {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-center {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-between {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-around {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-evenly {
|
||||||
|
justify-content: space-evenly;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-left {
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-justify-right {
|
||||||
|
justify-content: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ???
|
||||||
|
|
||||||
|
.flex-align-center {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.flex-align-start {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Missing: start | end
|
||||||
|
|
||||||
|
.flex-direction-row, .flex-row {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-direction-row-reverse, .flex-row-reverse {
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-direction-column, .flex-column {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-direction-column-reverse, .flex-column-reverse {
|
||||||
|
flex-direction: column-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-fill {
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
17
scss/core/float.scss
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Float */
|
||||||
|
|
||||||
|
.fl, .f-left {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fr, .f-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fn, .f-none {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Add more types
|
45
scss/core/grid.scss
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Grids */
|
||||||
|
|
||||||
|
.grid, .d-grid {
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin grid-col-maker($col-count, $middle-part) {
|
||||||
|
.grid-col-#{$middle-part}#{$col-count}, .col-#{$middle-part}#{$col-count} {
|
||||||
|
grid-template-columns: repeat(#{$col-count}, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin grid-gap-maker($gap-size-key, $gap-size-value) {
|
||||||
|
.grid-gap-#{$gap-size-key}, .gap-#{$gap-size-key} {
|
||||||
|
grid-gap: #{$gap-size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Defining rules for all devices.
|
||||||
|
@include grid-col-maker("1", "");
|
||||||
|
@include grid-col-maker("2", "");
|
||||||
|
@include grid-col-maker("3", "");
|
||||||
|
@include grid-col-maker("4", "");
|
||||||
|
@include grid-col-maker("6", "");
|
||||||
|
@include grid-col-maker("8", "");
|
||||||
|
|
||||||
|
@include grid-gap-maker("xs", calc(#{$grid-gap-base-size} * 0.5));
|
||||||
|
@include grid-gap-maker("s", calc(#{$grid-gap-base-size} * 0.75));
|
||||||
|
@include grid-gap-maker("m", #{$grid-gap-base-size});
|
||||||
|
@include grid-gap-maker("l", calc(#{$grid-gap-base-size} * 1.5));
|
||||||
|
@include grid-gap-maker("xl", calc(#{$grid-gap-base-size} * 2.0));
|
||||||
|
|
||||||
|
@media only screen and (max-width: 992px) {
|
||||||
|
@include grid-col-maker("1", "medium-");
|
||||||
|
@include grid-col-maker("2", "medium-");
|
||||||
|
@include grid-col-maker("3", "medium-");
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
@include grid-col-maker("1", "mobile-");
|
||||||
|
@include grid-col-maker("2", "mobile-");
|
||||||
|
@include grid-col-maker("3", "mobile-");
|
||||||
|
}
|
29
scss/core/lists.scss
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Lists */
|
||||||
|
|
||||||
|
ul:not(.no-bullet) {
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
|
||||||
|
&> li {
|
||||||
|
list-style-type: disc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol:not(.no-bullet) {
|
||||||
|
list-style-type: decimal;
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
//list-style-type: disc;
|
||||||
|
|
||||||
|
/*&> li {
|
||||||
|
list-style-type: circle;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/*ul.no-bullet, ol.no-bullet {
|
||||||
|
list-style-type: none;
|
||||||
|
padding-left: 0;
|
||||||
|
}*/
|
20
scss/core/overflow.scss
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Overflow */
|
||||||
|
|
||||||
|
@mixin overflow-maker($overflow-type) {
|
||||||
|
.o-#{$overflow-type} {
|
||||||
|
overflow: #{$overflow-type};
|
||||||
|
}
|
||||||
|
.ox-#{$overflow-type} {
|
||||||
|
overflow-x: #{$overflow-type};
|
||||||
|
}
|
||||||
|
.oy-#{$overflow-type} {
|
||||||
|
overflow-y: #{$overflow-type};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include overflow-maker(auto);
|
||||||
|
@include overflow-maker(scroll);
|
||||||
|
@include overflow-maker(clip);
|
||||||
|
@include overflow-maker(hidden);
|
7
scss/core/position.scss
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Positions */
|
||||||
|
|
||||||
|
.p-relative {
|
||||||
|
position: relative;
|
||||||
|
}
|
29
scss/core/rounding/corner.scss
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Corner */
|
||||||
|
@mixin corner-rounding-maker($size-key, $size-value) {
|
||||||
|
.rtl-#{$size-key} {
|
||||||
|
border-top-left-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rtr-#{$size-key} {
|
||||||
|
border-top-right-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rbl-#{$size-key} {
|
||||||
|
border-bottom-left-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rbr-#{$size-key} {
|
||||||
|
border-bottom-right-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Corner > Variable Sizes */
|
||||||
|
@include corner-rounding-maker("xs", calc(#{$border-base-radius} * 0.5));
|
||||||
|
@include corner-rounding-maker("s", calc(#{$border-base-radius} * 0.75));
|
||||||
|
@include corner-rounding-maker("m", #{$border-base-radius});
|
||||||
|
@include corner-rounding-maker("l", calc(#{$border-base-radius} * 1.5));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Corner > Fixed Sizes */
|
||||||
|
@include corner-rounding-maker("0", 0);
|
||||||
|
@include corner-rounding-maker("r", 50%);
|
22
scss/core/rounding/global.scss
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Global */
|
||||||
|
@mixin global-rounding-maker($size-key, $size-value) {
|
||||||
|
//, .rounding-#{$size-key}
|
||||||
|
.r-#{$size-key} {
|
||||||
|
border-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Global > Variable Sizes */
|
||||||
|
@include global-rounding-maker("xs", calc(#{$border-base-radius} * 0.5));
|
||||||
|
@include global-rounding-maker("s", calc(#{$border-base-radius} * 0.75));
|
||||||
|
@include global-rounding-maker("m", #{$border-base-radius});
|
||||||
|
@include global-rounding-maker("l", calc(#{$border-base-radius} * 1.5));
|
||||||
|
@include global-rounding-maker("xl", calc(#{$border-base-radius} * 2.0));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Global > Fixed Sizes */
|
||||||
|
@include global-rounding-maker("0", 0);
|
||||||
|
@include global-rounding-maker("r", 50%);
|
33
scss/core/rounding/sided.scss
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Sided */
|
||||||
|
@mixin sided-rounding-maker($size-key, $size-value) {
|
||||||
|
.rt-#{$size-key} {
|
||||||
|
border-top-left-radius: #{$size-value};
|
||||||
|
border-top-right-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rb-#{$size-key} {
|
||||||
|
border-bottom-left-radius: #{$size-value};
|
||||||
|
border-bottom-right-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rl-#{$size-key} {
|
||||||
|
border-top-left-radius: #{$size-value};
|
||||||
|
border-bottom-left-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
.rr-#{$size-key} {
|
||||||
|
border-top-right-radius: #{$size-value};
|
||||||
|
border-bottom-right-radius: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Sided > Variable Sizes */
|
||||||
|
@include sided-rounding-maker("xs", calc(#{$border-base-radius} * 0.5));
|
||||||
|
@include sided-rounding-maker("s", calc(#{$border-base-radius} * 0.75));
|
||||||
|
@include sided-rounding-maker("m", #{$border-base-radius});
|
||||||
|
@include sided-rounding-maker("l", calc(#{$border-base-radius} * 1.5));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Rounding > Sided > Fixed Sizes */
|
||||||
|
@include sided-rounding-maker("0", 0);
|
||||||
|
@include sided-rounding-maker("r", 50%);
|
56
scss/core/sizing.scss
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Sizing */
|
||||||
|
|
||||||
|
// 100 %
|
||||||
|
.w-full {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.wm-full {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h-full {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.hm-full {
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 50 %
|
||||||
|
.w-half {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h-half {
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pixels Sizing (Deprecated, disabled by default, use custom rules !)
|
||||||
|
@if($add-px-sizing-rules) {
|
||||||
|
// 50, 100, ..., 250 px
|
||||||
|
@for $_ from 1 through 5 {
|
||||||
|
$pxSize: $_ * 50;
|
||||||
|
|
||||||
|
.w-#{$pxSize} {
|
||||||
|
width: #{$pxSize}px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h-#{$pxSize} {
|
||||||
|
height: #{$pxSize}px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 300, 400, ..., 900 px
|
||||||
|
@for $_ from 3 through 9 {
|
||||||
|
$pxSize: $_ * 100;
|
||||||
|
|
||||||
|
.w-#{$pxSize} {
|
||||||
|
width: #{$pxSize}px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h-#{$pxSize} {
|
||||||
|
height: #{$pxSize}px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
39
scss/core/spacing/axis.scss
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided */
|
||||||
|
@mixin axis-spacing-maker($type-key, $type-property, $size-key, $size-value) {
|
||||||
|
.#{$type-key}x-#{$size-key} {
|
||||||
|
#{$type-property}-left: #{$size-value};
|
||||||
|
#{$type-property}-right: #{$size-value};
|
||||||
|
}
|
||||||
|
.#{$type-key}y-#{$size-key} {
|
||||||
|
#{$type-property}-top: #{$size-value};
|
||||||
|
#{$type-property}-bottom: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Variable Sizes */
|
||||||
|
@include axis-spacing-maker("m", "margin", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include axis-spacing-maker("m", "margin", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include axis-spacing-maker("m", "margin", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include axis-spacing-maker("m", "margin", "m", #{$margin-base-size});
|
||||||
|
@include axis-spacing-maker("m", "margin", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include axis-spacing-maker("m", "margin", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
@include axis-spacing-maker("p", "padding", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include axis-spacing-maker("p", "padding", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include axis-spacing-maker("p", "padding", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include axis-spacing-maker("p", "padding", "m", #{$margin-base-size});
|
||||||
|
@include axis-spacing-maker("p", "padding", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include axis-spacing-maker("p", "padding", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Fixed Sizes */
|
||||||
|
@include axis-spacing-maker("m", "margin", "0", 0);
|
||||||
|
@include axis-spacing-maker("p", "padding", "0", 0);
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Others */
|
||||||
|
@include axis-spacing-maker("m", "margin", "auto", auto);
|
||||||
|
@include axis-spacing-maker("p", "padding", "auto", auto);
|
46
scss/core/spacing/global.scss
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Global */
|
||||||
|
@mixin global-spacing-maker($type-key, $type-property, $size-key, $size-value) {
|
||||||
|
.#{$type-key}-#{$size-key} {
|
||||||
|
#{$type-property}: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Global > Variable Sizes */
|
||||||
|
@include global-spacing-maker("m", "margin", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include global-spacing-maker("m", "margin", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include global-spacing-maker("m", "margin", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include global-spacing-maker("m", "margin", "m", #{$margin-base-size});
|
||||||
|
@include global-spacing-maker("m", "margin", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include global-spacing-maker("m", "margin", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
@include global-spacing-maker("p", "padding", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include global-spacing-maker("p", "padding", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include global-spacing-maker("p", "padding", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include global-spacing-maker("p", "padding", "m", #{$margin-base-size});
|
||||||
|
@include global-spacing-maker("p", "padding", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include global-spacing-maker("p", "padding", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Global > Fixed Sizes */
|
||||||
|
@include global-spacing-maker("m", "margin", "0", 0);
|
||||||
|
@include global-spacing-maker("p", "padding", "0", 0);
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Global > Others */
|
||||||
|
@include global-spacing-maker("m", "margin", "auto", auto);
|
||||||
|
@include global-spacing-maker("p", "padding", "auto", auto);
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Global > Manual Extras */
|
||||||
|
.p-xxxs {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.125);
|
||||||
|
}
|
||||||
|
.p-mxs {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.375);
|
||||||
|
}
|
||||||
|
.p-ms {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.625);
|
||||||
|
}
|
43
scss/core/spacing/sided.scss
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided */
|
||||||
|
@mixin sided-spacing-maker($type-key, $type-property, $size-key, $size-value) {
|
||||||
|
.#{$type-key}t-#{$size-key} {
|
||||||
|
#{$type-property}-top: #{$size-value};
|
||||||
|
}
|
||||||
|
.#{$type-key}b-#{$size-key} {
|
||||||
|
#{$type-property}-bottom: #{$size-value};
|
||||||
|
}
|
||||||
|
.#{$type-key}l-#{$size-key} {
|
||||||
|
#{$type-property}-left: #{$size-value};
|
||||||
|
}
|
||||||
|
.#{$type-key}r-#{$size-key} {
|
||||||
|
#{$type-property}-right: #{$size-value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Variable Sizes */
|
||||||
|
@include sided-spacing-maker("m", "margin", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include sided-spacing-maker("m", "margin", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include sided-spacing-maker("m", "margin", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include sided-spacing-maker("m", "margin", "m", #{$margin-base-size});
|
||||||
|
@include sided-spacing-maker("m", "margin", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include sided-spacing-maker("m", "margin", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
@include sided-spacing-maker("p", "padding", "xxs", calc(#{$margin-base-size} * 0.25));
|
||||||
|
@include sided-spacing-maker("p", "padding", "xs", calc(#{$margin-base-size} * 0.5));
|
||||||
|
@include sided-spacing-maker("p", "padding", "s", calc(#{$margin-base-size} * 0.75));
|
||||||
|
@include sided-spacing-maker("p", "padding", "m", #{$margin-base-size});
|
||||||
|
@include sided-spacing-maker("p", "padding", "l", calc(#{$margin-base-size} * 1.5));
|
||||||
|
@include sided-spacing-maker("p", "padding", "xl", calc(#{$margin-base-size} * 2.0));
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Fixed Sizes */
|
||||||
|
@include sided-spacing-maker("m", "margin", "0", 0);
|
||||||
|
@include sided-spacing-maker("p", "padding", "0", 0);
|
||||||
|
|
||||||
|
|
||||||
|
/* Utilities > Spacing > Sided > Others */
|
||||||
|
@include sided-spacing-maker("m", "margin", "auto", auto);
|
||||||
|
@include sided-spacing-maker("p", "padding", "auto", auto);
|
168
scss/core/text.scss
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Core > Text */
|
||||||
|
|
||||||
|
/* Core > Text > Headings */
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
font-weight: #{$text-header-weight};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Sizes */
|
||||||
|
|
||||||
|
// ".t-size-6", ".t-size-8", ..., "t-size-40"
|
||||||
|
@for $_ from 3 through 20 {
|
||||||
|
$sizeKey: $_ * 2;
|
||||||
|
$sizeValue: $sizeKey / 10;
|
||||||
|
|
||||||
|
.t-size-#{$sizeKey} {
|
||||||
|
font-size: #{$sizeValue}rem !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adding special odd values
|
||||||
|
.t-size-11 {
|
||||||
|
font-size: 1.1rem !important;
|
||||||
|
}
|
||||||
|
.t-size-13 {
|
||||||
|
font-size: 1.3rem !important;
|
||||||
|
}
|
||||||
|
.t-size-15 {
|
||||||
|
font-size: 1.5rem !important;
|
||||||
|
}
|
||||||
|
.t-size-17 {
|
||||||
|
font-size: 1.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Jumbo sizes
|
||||||
|
// ".t-size-35" & ".t-size-40"
|
||||||
|
@for $_ from 7 through 8 {
|
||||||
|
$size: $_ * 5;
|
||||||
|
|
||||||
|
.t-size-#{$size} {
|
||||||
|
font-size: #{$size / 10}rem !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Weights */
|
||||||
|
|
||||||
|
.t-w-normal, .t-normal {
|
||||||
|
font-weight: normal !important;
|
||||||
|
}
|
||||||
|
b, .t-w-bold, .t-bold {
|
||||||
|
font-weight: bold !important;
|
||||||
|
}
|
||||||
|
.t-w-bolder, .t-bolder {
|
||||||
|
font-weight: bolder !important;
|
||||||
|
}
|
||||||
|
.t-w-lighter, .t-lighter {
|
||||||
|
font-weight: lighter !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ".t-w-100", ".t-w-200", ..., ".t-w-900"
|
||||||
|
@for $_ from 1 through 9 {
|
||||||
|
$size: $_ * 100;
|
||||||
|
|
||||||
|
.t-w-#{$size} {
|
||||||
|
font-weight: #{$size} !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// /!\ Firefox moment /!\
|
||||||
|
// * The ".t-w-200" to ".t-w-500" classes barely any effect on weight...
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Styles */
|
||||||
|
|
||||||
|
i, .t-italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-oblique {
|
||||||
|
font-style: oblique;
|
||||||
|
}
|
||||||
|
|
||||||
|
u, .t-underline {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
s, .t-strikethrough {
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-overline {
|
||||||
|
text-decoration: overline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Alignment */
|
||||||
|
|
||||||
|
.t-justify {
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-start {
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-end {
|
||||||
|
text-align: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Modifiers */
|
||||||
|
|
||||||
|
.t-ucase {
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-lcase {
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-capitalize {
|
||||||
|
text-transform: capitalize;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Misc */
|
||||||
|
|
||||||
|
.t-nowrap {
|
||||||
|
white-space: nowrap;
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Core > Text > Helpers */
|
||||||
|
|
||||||
|
.t-half-muted {
|
||||||
|
opacity: 65%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-muted {
|
||||||
|
//@if $undefined-toggle-css-variables {
|
||||||
|
// color: var(--color-white-muted);
|
||||||
|
//} @else {
|
||||||
|
// color: #{$color-white-muted};
|
||||||
|
//}
|
||||||
|
//color: #A9A9Aa;
|
||||||
|
opacity: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t-super-muted {
|
||||||
|
// Should be 35% TBH
|
||||||
|
opacity: 45%;
|
||||||
|
}
|
17
scss/debugger.scss
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// NibblePoker CSS Debugger - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
.debug {
|
||||||
|
border: 1px dotted deeppink !important;
|
||||||
|
& *.debug {
|
||||||
|
border: 1px dotted yellow !important;
|
||||||
|
& *.debug {
|
||||||
|
border: 1px dotted cyan !important;
|
||||||
|
& *.debug {
|
||||||
|
border: 1px dotted lime !important;
|
||||||
|
& *.debug {
|
||||||
|
border: 1px dotted red !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
60
scss/external/reset.scss
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
* Reset.css
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
* v2.0 | 20110126
|
||||||
|
* License: none (public domain)
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* External > Reset.css */
|
||||||
|
|
||||||
|
*, *:before, *:after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small,
|
||||||
|
strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th,
|
||||||
|
td, main, canvas, embed, footer, header, nav, section, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
text-size-adjust: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer, header, nav, section, main {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol, ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote, q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote:before, blockquote:after, q:before, q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
75
scss/nibblepoker.scss
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
/*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
* NibblePoker CSS Theme
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
* Author: Herwin Bozet
|
||||||
|
* License: CC0 1.0 (Public Domain)
|
||||||
|
* Source: ???
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Config */
|
||||||
|
@import 'config';
|
||||||
|
|
||||||
|
/* Externals */
|
||||||
|
@import 'external/reset'; // Doesn't reset checkboxes !
|
||||||
|
|
||||||
|
/* Variables */
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
/* Core */
|
||||||
|
@import 'core/border'; // Border rules (.border, .bt-0, ...)
|
||||||
|
@import 'core/float'; // Floating rules (.f-right, ...)
|
||||||
|
@import 'core/sizing'; // Rules for setting elements size (.w-full, ...)
|
||||||
|
@import 'core/flex'; // /!\ Needs an overhaul !!!
|
||||||
|
@import 'core/grid'; // /!\ Needs an overhaul !!!
|
||||||
|
@import 'core/text'; // Text-related rules (.t-bold, t-ucase, t-size-14, ...)
|
||||||
|
//@import 'core/containers'; // Cannot remember why it was used, if ever
|
||||||
|
@import 'core/display'; // /!\ Needs improvement !!!
|
||||||
|
@import 'core/position'; // /!\ Needs improvement !!!
|
||||||
|
@import 'core/overflow'; // Defines generic overflow rules (.o-hidden, .ox-scroll, ...)
|
||||||
|
@import 'core/lists';
|
||||||
|
|
||||||
|
/* Core > Rounding */
|
||||||
|
@import 'core/rounding/global';
|
||||||
|
@import 'core/rounding/sided';
|
||||||
|
@import 'core/rounding/corner';
|
||||||
|
|
||||||
|
/* Core > Spacing */
|
||||||
|
@import 'core/spacing/global';
|
||||||
|
@import 'core/spacing/axis';
|
||||||
|
@import 'core/spacing/sided';
|
||||||
|
|
||||||
|
/* Site */
|
||||||
|
|
||||||
|
/* Site > Layouts */
|
||||||
|
@import 'site/layouts/commons'; // Sets up the page's default sizing rules
|
||||||
|
@import 'site/layouts/generic'; // Theme used for websites with a toggleable sidebar (Similar to WinUI apps)
|
||||||
|
|
||||||
|
/* Site > Styles */
|
||||||
|
@import 'site/base'; // Needs a rework, Defines some basic common broad styling/coloring rules
|
||||||
|
@import 'site/text'; // Has some hardcoded width for font-awesome icons in sidebar and headings
|
||||||
|
|
||||||
|
/* Site > Elements */
|
||||||
|
@import 'site/hr'; // Custom horizontal rulers
|
||||||
|
@import 'site/scrollbar'; // Personalizes the scrollbars (Horizontal is still unfinished !)
|
||||||
|
@import 'site/input'; // Has ugly fix for download buttons
|
||||||
|
@import 'site/table'; // Uses copied paddings for cells & ugly rounding fix
|
||||||
|
@import 'site/code'; // Uses forced borders, roundings and paddings
|
||||||
|
@import 'site/video';
|
||||||
|
|
||||||
|
/* Site > Misc */
|
||||||
|
@import 'site/borders'; // Applies the colors mostly, the size are in the elements !
|
||||||
|
@import 'site/backgrounds';
|
||||||
|
|
||||||
|
/* Site > Fixes */
|
||||||
|
@import 'site/mobile'; // Has !important overrides for obvious reasons
|
||||||
|
|
||||||
|
/* Site > Unsorted */
|
||||||
|
@import 'site/image';
|
||||||
|
@import 'site/wedge';
|
||||||
|
@import 'site/content'; // Uses fixed sizes and floats
|
||||||
|
@import 'site/modal';
|
||||||
|
|
||||||
|
/* Extras */
|
||||||
|
@import 'site/splide';
|
31
scss/site/backgrounds.scss
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Site > Misc > Backgrounds */
|
||||||
|
|
||||||
|
.bkgd-blank {
|
||||||
|
background: #{$color-background-main-headings};
|
||||||
|
}
|
||||||
|
|
||||||
|
// The element rules override rules in `base.scss ~94`
|
||||||
|
.bkgd-surround, header, nav, footer {
|
||||||
|
//background: #{$color-background-surround};
|
||||||
|
background: #{$color-background-surround} url("#{$nibblepoker-background-root}/3px-tile-0.1.png") repeat scroll center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bkgd-blank-dark {
|
||||||
|
background: mix($color-background-main, $color-background-surround, 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bkgd-grid {
|
||||||
|
background: #{$color-background-main-headings} url("#{$nibblepoker-background-root}/3px-tile-0.4.png") repeat scroll center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bkgd-squares {
|
||||||
|
background: #{$color-background-main-headings} url("#{$nibblepoker-background-root}/bright-squares-p100-0.125.png") repeat scroll center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bkgd-math {
|
||||||
|
//background: #{$color-background-main-headings} url("#{$nibblepoker-background-root}/old-mathematics-v2-0.25.png") repeat scroll center center;
|
||||||
|
// FIXME: Fix the code using this class !!!
|
||||||
|
background: #{$color-background-main-headings} url("#{$nibblepoker-background-root}/3px-tile-0.2.png") repeat scroll center center;
|
||||||
|
}
|
41
scss/site/base.scss
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Site > Styles > Base */
|
||||||
|
|
||||||
|
/* Site > Styles > Base > Coloring & Fonts (TODO: Needs a small rework) */
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #{$color-background-body};
|
||||||
|
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
||||||
|
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overridden by a rule in background.scss !
|
||||||
|
header, nav, footer {
|
||||||
|
background-color: #{$color-background-surround};
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
background-color: #{$color-background-main};
|
||||||
|
|
||||||
|
// FIXME: Adapt when sidebar is closed !
|
||||||
|
// FIXME: Move it to the proper layout file then !!!
|
||||||
|
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.375) inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Styles > Base > Trash */
|
||||||
|
|
||||||
|
// FIXME: Move it out too !
|
||||||
|
// Allowed for right-align in headings with 'ml-auto' instead of 'f-right' !
|
||||||
|
/*.heading-main {
|
||||||
|
> h2, > h3, > h4 {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
&.heading-dyn-width-1 {
|
||||||
|
min-width: 75%;
|
||||||
|
}
|
||||||
|
}*/
|
36
scss/site/borders.scss
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
.border, code, .code, kbd {
|
||||||
|
border-color: #{$color-border-surround};
|
||||||
|
|
||||||
|
//&.b-light {
|
||||||
|
// border: 1px solid #{$color-border-light};
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
code, .code, kbd {
|
||||||
|
border-color: #{$color-border-code};
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
.border {
|
||||||
|
border-color: #{$color-border-main};
|
||||||
|
|
||||||
|
//&.b-light {
|
||||||
|
// border: 1px solid #{$color-border-light};
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
table.stylish {
|
||||||
|
// Fixing border issues when using rounded corners by using a "fake" one using the background's color.
|
||||||
|
// It will look like utter shit when rounded on firefox because its rendering engine cannot clip rounded corners apparently.
|
||||||
|
// I guess that's what being at less than 3% of the market share does to you and your ability to care about basic shit.
|
||||||
|
&.border {
|
||||||
|
background-color: #{$color-border-main};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special fix for select inputs' dropdown menu
|
||||||
|
//select.border option::before {
|
||||||
|
// border: 1px solid deeppink !important;
|
||||||
|
//}
|
38
scss/site/code.scss
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
code, .code, kbd {
|
||||||
|
font-family: Consolas, "Courier New", monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
// For large blocks
|
||||||
|
code {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// For spans
|
||||||
|
.code, kbd {
|
||||||
|
background-color: #{$color-background-code};
|
||||||
|
|
||||||
|
border: 1px solid;
|
||||||
|
|
||||||
|
// Using '.r-s'
|
||||||
|
border-radius: calc(#{$border-base-radius} * 0.75);
|
||||||
|
|
||||||
|
// Using the middle of '.px-xs' and '.px-s'
|
||||||
|
padding-left: calc(#{$border-base-radius} * 0.625);
|
||||||
|
padding-right: calc(#{$border-base-radius} * 0.625);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes the background added by highlight.js
|
||||||
|
.code-line {
|
||||||
|
background: rgba(0,0,0,0) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, .code, .code-line {
|
||||||
|
line-height: 1.35;
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: Use a proper class !!!
|
||||||
|
.code:not(code) {
|
||||||
|
padding: calc(#{$border-base-radius} * 0.625);
|
||||||
|
}
|
37
scss/site/content.scss
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
.content-search-entry {
|
||||||
|
min-height: #{$content-search-image-size};
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-search-image {
|
||||||
|
width: #{$content-search-image-size};
|
||||||
|
height: #{$content-search-image-size};
|
||||||
|
float: left;
|
||||||
|
filter: drop-shadow(0 0 0.2rem #000000CF);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-search-entry > p {
|
||||||
|
width: 90%;
|
||||||
|
//max-width: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-error-text {
|
||||||
|
max-width: 700px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Image shown in the smaller inline content cards
|
||||||
|
.content-card-image {
|
||||||
|
width: calc(#{$content-search-image-size} * 0.75);
|
||||||
|
height: calc(#{$content-search-image-size} * 0.75);
|
||||||
|
float: left;
|
||||||
|
//filter: drop-shadow(0 0 0.2rem #000000CF);
|
||||||
|
//box-shadow: 0px 0px 20px 2px #000000CF inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Should be a span with IMG tags inside it.
|
||||||
|
.app-card-icons {
|
||||||
|
&>img {
|
||||||
|
height: 1.25rem;
|
||||||
|
}
|
||||||
|
}
|
54
scss/site/hr.scss
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Site > Elements > Horizontal Rule */
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-color: #{$color-border-all};
|
||||||
|
|
||||||
|
&.subtle, &.hr-subtle {
|
||||||
|
//background-color: rgba(0,0,0,0) !important;
|
||||||
|
//background: #5d5f61;
|
||||||
|
//background: radial-gradient(circle, rgba(83, 85, 87, 0.8) 0%, rgba(65, 67, 69, 0.65) 75%, rgba(17, 20, 23, 0) 100%);
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.dashed, &.hr-dashed {
|
||||||
|
border-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.dotted, &.hr-dotted {
|
||||||
|
border-style: dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.double, &.hr-double, &.thick, &.hr-thick {
|
||||||
|
border-style: double;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Default !
|
||||||
|
//&.inset, &.inset {
|
||||||
|
// border-style: inset;
|
||||||
|
//}
|
||||||
|
|
||||||
|
&.outset, &.hr-outset {
|
||||||
|
border-style: outset;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cut-here, &.ht-cut-here {
|
||||||
|
border-width: 1px 0 0 0;
|
||||||
|
height: 9px;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: '\002702';
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
color: #{$color-border-all};
|
||||||
|
font-size: 18px;
|
||||||
|
top: -8px;
|
||||||
|
left: 40px;
|
||||||
|
|
||||||
|
font-family: serif;
|
||||||
|
//filter: grayscale(1);
|
||||||
|
//transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
127
scss/site/image.scss
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
.img-text {
|
||||||
|
height: 1em;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-img {
|
||||||
|
display: flex;
|
||||||
|
height: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-showcase {
|
||||||
|
width: 96px;
|
||||||
|
height: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-profile {
|
||||||
|
width: 7.5rem;
|
||||||
|
height: 7.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-contributor, .img-contributor > img {
|
||||||
|
width: 6rem;
|
||||||
|
height: 6rem;
|
||||||
|
|
||||||
|
border-radius: 50%;
|
||||||
|
|
||||||
|
transition: width 0.175s ease-in-out, height 0.175s ease-in-out, opacity 0.175s ease-in-out;
|
||||||
|
|
||||||
|
&:hover, &:hover > img {
|
||||||
|
width: 7.5rem;
|
||||||
|
height: 7.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.kitty {
|
||||||
|
cursor: grab;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-contributor {
|
||||||
|
display: inline-block;
|
||||||
|
box-shadow: 0 0 6px 0 rgba(0,0,0,0.75);
|
||||||
|
|
||||||
|
&>img {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
box-shadow: none;
|
||||||
|
position: relative;
|
||||||
|
opacity: 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
img {
|
||||||
|
opacity: 0.0;
|
||||||
|
}
|
||||||
|
&>img:last-child {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//.align-v-t
|
||||||
|
|
||||||
|
#logo-sidebar, .logo-sidebar {
|
||||||
|
filter: brightness(110%) grayscale(100%);
|
||||||
|
//mix-blend-mode: multiply;
|
||||||
|
//opacity: 40%;
|
||||||
|
// Fixes the width to the size of the sidebar minus its padding. (15rem - 1rem * 2)
|
||||||
|
width: 13rem;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Based on '#logo-sidebar'
|
||||||
|
.logo-sidebar-v2 {
|
||||||
|
filter: drop-shadow(0 0 0.15rem #0000007F) saturate(75%);
|
||||||
|
width: 13rem;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
transition-property: -moz-filter, -ms-filter, -o-filter, -webkit-filter, filter;
|
||||||
|
transition-duration: 0.4s;
|
||||||
|
transition-timing-function: cubic-bezier(.25, .8, .25, 1.1);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
filter: drop-shadow(0 0 0.15rem #0000007F) saturate(100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo-footer {
|
||||||
|
filter: brightness(110%) grayscale(100%);
|
||||||
|
opacity: 40%;
|
||||||
|
height: 1.8em;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
#error-page-skit {
|
||||||
|
max-width: 40%;
|
||||||
|
height: auto;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 1.5em;
|
||||||
|
right: 1.5em;
|
||||||
|
filter: drop-shadow(0 0 0.25rem #0000007F);
|
||||||
|
//opacity: 0.25;
|
||||||
|
|
||||||
|
//mix-blend-mode: multiply;
|
||||||
|
//opacity: 0.2;
|
||||||
|
|
||||||
|
opacity: 0.4;
|
||||||
|
|
||||||
|
// Preventing the selection and dragging of the image for aesthetic reasons.
|
||||||
|
user-drag: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logo colors
|
||||||
|
//.npl1, .npl6 {
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//.npl2, .npl5 {
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//.npl3, .npl4 {
|
||||||
|
//}
|
||||||
|
|
140
scss/site/input.scss
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Site > Elements > Inputs */
|
||||||
|
|
||||||
|
/* Site > Elements > Inputs > Commons */
|
||||||
|
|
||||||
|
button, input, textarea, select {
|
||||||
|
border: 0;
|
||||||
|
|
||||||
|
// Removing ugly-ass white glow when editing text-related inputs.
|
||||||
|
// Shit looks straight out of winforms in 2023...
|
||||||
|
outline: none;
|
||||||
|
|
||||||
|
color: #{$color-text-inputs};
|
||||||
|
background-color: #{$color-background-inputs};
|
||||||
|
|
||||||
|
&:not(.no-focus) {
|
||||||
|
&:focus {
|
||||||
|
box-shadow: 0px 0px 3px 0px #{$color-input-glow};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:disabled {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site > Elements > Inputs > Checkbox */
|
||||||
|
|
||||||
|
input[type=checkbox] {
|
||||||
|
width: 1.65em;
|
||||||
|
height: 1.65em;
|
||||||
|
background-color: #{$color-background-checkbox-unchecked};
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:checked {
|
||||||
|
background-color: #{$color-background-checkbox-checked};
|
||||||
|
}
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
input[type="checkbox"] + label {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site > Elements > Inputs > Buttons */
|
||||||
|
|
||||||
|
button {
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #{$color-background-button};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #{$color-background-button-hover};
|
||||||
|
}
|
||||||
|
|
||||||
|
&.primary {
|
||||||
|
background-color: #{$color-background-button-primary};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #{$color-background-button-primary-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.success {
|
||||||
|
background-color: #{$color-background-button-success};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #{$color-background-button-success-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.error {
|
||||||
|
background-color: #{$color-background-button-error};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #{$color-background-button-error-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.warning {
|
||||||
|
background-color: #{$color-background-button-warning};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #{$color-background-button-warning-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ugly fix for download buttons
|
||||||
|
button + button, .button-link + .button-link > button {
|
||||||
|
margin-left: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site > Elements > Inputs > Lang Selector */
|
||||||
|
|
||||||
|
#lang-selector {
|
||||||
|
position: relative;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
> summary {
|
||||||
|
cursor: pointer;
|
||||||
|
list-style: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
> div {
|
||||||
|
position: absolute;
|
||||||
|
z-index: #{$z-index-lang-dropdown};
|
||||||
|
top: 2rem;
|
||||||
|
right: 0;
|
||||||
|
min-width: 100%;
|
||||||
|
|
||||||
|
// Visibility transition
|
||||||
|
//height: 0;
|
||||||
|
//transition: height 0.4s;
|
||||||
|
//transition-timing-function: cubic-bezier(.25,.8,.25,1.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Maybe force it to be visible when closes ?
|
||||||
|
|
||||||
|
//&[open] > div {
|
||||||
|
// height: auto;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
|
||||||
|
&.no-resize {
|
||||||
|
resize: none;
|
||||||
|
}
|
||||||
|
}
|
15
scss/site/layouts/commons.scss
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Site > Layouts */
|
||||||
|
|
||||||
|
/* Site > Layouts > Commons */
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
// Do not use 100vh, it includes the search bar !
|
||||||
|
min-width: 100vw;
|
||||||
|
min-height: 100%;
|
||||||
|
width: 100vw !important;
|
||||||
|
height: 100% !important;
|
||||||
|
max-width: 100vw;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
161
scss/site/layouts/generic.scss
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic */
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Main Grid */
|
||||||
|
|
||||||
|
body.layout-generic {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: min-content 1fr;
|
||||||
|
grid-template-rows: min-content 1fr min-content;
|
||||||
|
gap: 0;
|
||||||
|
|
||||||
|
& > nav {
|
||||||
|
grid-column: 1;
|
||||||
|
grid-row: 1 / span 2;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
z-index: #{$z-index-sidebar};
|
||||||
|
}
|
||||||
|
|
||||||
|
& > header {
|
||||||
|
grid-column: 2;
|
||||||
|
grid-row: 1;
|
||||||
|
|
||||||
|
// Inner content
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr min-content;
|
||||||
|
grid-template-rows: min-content;
|
||||||
|
|
||||||
|
& > h1 {
|
||||||
|
grid-column: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > #lang-selector {
|
||||||
|
grid-column: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& > main {
|
||||||
|
grid-column: 2;
|
||||||
|
grid-row: 2;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
position: relative; // Helps with some absolute alignments inside it
|
||||||
|
}
|
||||||
|
|
||||||
|
& > footer {
|
||||||
|
grid-column: 1 / span 2;
|
||||||
|
grid-row: 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Mobile Fixes */
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
body.layout-generic {
|
||||||
|
& > nav {
|
||||||
|
//border-right: 1px solid #{$color-border-all};
|
||||||
|
border-right: 1px solid #{$color-border-main};
|
||||||
|
}
|
||||||
|
|
||||||
|
& > header {
|
||||||
|
grid-column: 1 / span 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > main {
|
||||||
|
grid-column: 1 / span 2;
|
||||||
|
// TODO: Remove scrolling here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Sidebar */
|
||||||
|
|
||||||
|
body.layout-generic {
|
||||||
|
.sidebar {
|
||||||
|
width: #{$size-sidebar};
|
||||||
|
max-width: #{$size-sidebar};
|
||||||
|
min-height: 100%;
|
||||||
|
|
||||||
|
&.retracted {
|
||||||
|
width: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-entry {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Sidebar > Mobile Fixes */
|
||||||
|
|
||||||
|
// Inverting the sidebar's states for mobile devices
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
body.layout-generic {
|
||||||
|
.sidebar {
|
||||||
|
width: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
&.retracted {
|
||||||
|
width: #{$size-sidebar};
|
||||||
|
max-width: #{$size-sidebar};
|
||||||
|
min-height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
// Inherited from .p-m
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-entry {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Main Extras */
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
body.layout-generic {
|
||||||
|
main {
|
||||||
|
border-left: 0 !important;
|
||||||
|
border-radius: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
body.layout-generic {
|
||||||
|
main {
|
||||||
|
&.expanded {
|
||||||
|
border-left: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Layouts > Generic > Transitions */
|
||||||
|
|
||||||
|
body.layout-generic {
|
||||||
|
main, .sidebar {
|
||||||
|
transition: width 0.4s, padding 0.4s, border-width 0.4s, border-radius 0.4s;
|
||||||
|
transition-timing-function: cubic-bezier(.25, .8, .25, 1.1);
|
||||||
|
}
|
||||||
|
}
|
19
scss/site/mobile.scss
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Site > Fixes > Mobile */
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
// Overrides the ".p-l" class used on "main".
|
||||||
|
main {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.5) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overrides a style in "site/content.scss".
|
||||||
|
.content-search-entry > p {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
34
scss/site/modal.scss
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
.modal {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: #{$z-index-modal};
|
||||||
|
background-color: #000000CF;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
|
||||||
|
> #modal-content-cross {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
> #modal-content-inner {
|
||||||
|
position: absolute;
|
||||||
|
//background-color: #00aaaa;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 100vh;
|
||||||
|
width: 75vw;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-inner-image {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
62
scss/site/scrollbar.scss
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Site > Elements > Scrollbars */
|
||||||
|
|
||||||
|
//@media (min-width: 769px) {
|
||||||
|
*::-webkit-scrollbar {
|
||||||
|
width: #{$scrollbar-size};
|
||||||
|
height: #{$scrollbar-size};
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-track:vertical {
|
||||||
|
border-left: 1px solid #{$color-scrollbar-border};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**::-webkit-scrollbar-track:horizontal {
|
||||||
|
border-top: 1px solid #{$color-scrollbar-border};
|
||||||
|
}*/
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb {
|
||||||
|
background-color: rgba(255, 255, 255, 0.25);
|
||||||
|
border: 0.4rem solid transparent;
|
||||||
|
background-clip: content-box;
|
||||||
|
border-radius: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: rgba(255, 255, 255, 0.4);
|
||||||
|
border-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-corner {
|
||||||
|
background-color: transparent;
|
||||||
|
border-left: 1px solid rgba(0, 0, 0, 0.1);
|
||||||
|
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//* {
|
||||||
|
// scrollbar-width: thin;
|
||||||
|
// scrollbar-color: rgba(0, 0, 0, 0.25) #ffffff;
|
||||||
|
//}
|
||||||
|
//*::-webkit-scrollbar-track {
|
||||||
|
// border-color: rgba(255, 255, 255, 0.05);
|
||||||
|
//}
|
||||||
|
//*::-webkit-scrollbar-corner {
|
||||||
|
// background-color: transparent;
|
||||||
|
// border-color: rgba(255, 255, 255, 0.05);
|
||||||
|
//}
|
||||||
|
//* {
|
||||||
|
// scrollbar-color: rgba(255, 255, 255, 0.25) #25282c;
|
||||||
|
//}
|
||||||
|
//}
|
||||||
|
|
||||||
|
/*.hide-scrollbar {
|
||||||
|
scrollbar-width: none !important;
|
||||||
|
-ms-overflow-style: none;
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
background: transparent;
|
||||||
|
width: 0px;
|
||||||
|
}
|
||||||
|
}*/
|
16
scss/site/splide.scss
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Extras > Splide */
|
||||||
|
|
||||||
|
// Zoom-in effect for image galleries
|
||||||
|
.splide li {
|
||||||
|
transition: all 0.20s ease-in-out;
|
||||||
|
}
|
||||||
|
.splide li:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generic max-height rule
|
||||||
|
.splide, .splide * {
|
||||||
|
max-height: 400px;
|
||||||
|
}
|
56
scss/site/table.scss
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
tr, td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.stylish {
|
||||||
|
th {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr {
|
||||||
|
background-color: #{$color-background-table-dual};
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:not(:last-of-type), th {
|
||||||
|
border-bottom: 1.5px solid #{$color-table-border};
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(2n), th {
|
||||||
|
background-color: #{$color-background-table-main};
|
||||||
|
}
|
||||||
|
|
||||||
|
td:not(:last-of-type), th:not(:last-of-type) {
|
||||||
|
border-right: 1.5px solid #{$color-table-border};
|
||||||
|
}
|
||||||
|
|
||||||
|
// See 'site/border.scss' for border fix.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Applying .p-xs and .p-s to all cells if needed
|
||||||
|
// See 'core/spacing' for more info.
|
||||||
|
.table-p-xs {
|
||||||
|
td, th {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-h-p-s {
|
||||||
|
th {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.75);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-p-s {
|
||||||
|
td, th {
|
||||||
|
padding: calc(#{$margin-base-size} * 0.75);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Centers the cells' content vertically
|
||||||
|
.table-v-center {
|
||||||
|
tr, td {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
}
|
122
scss/site/text.scss
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
// NibblePoker.lu CSS - MIT (C) 2023-2024 Bozet Herwin
|
||||||
|
|
||||||
|
/* Site > Text */
|
||||||
|
|
||||||
|
/* Site > Text > Commons */
|
||||||
|
|
||||||
|
* {
|
||||||
|
color: #{$color-text-regular-normal};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Text > Paragraphs */
|
||||||
|
|
||||||
|
p {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Text > Links */
|
||||||
|
|
||||||
|
a, .a {
|
||||||
|
// Base
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #{$color-link-blue};
|
||||||
|
|
||||||
|
& * {
|
||||||
|
color: #{$color-link-blue};
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #{$color-link-blue-hover};
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
& * {
|
||||||
|
color: #{$color-link-blue-hover};
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special case for buttons
|
||||||
|
//&.casper-link, &.button-link, &.text-link {
|
||||||
|
&.a-bland {
|
||||||
|
text-decoration: none;
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none; // Only really applies to content listing entries...
|
||||||
|
& * {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bland links
|
||||||
|
//&.casper-link, &.bland-link {
|
||||||
|
&.a-hidden {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #{$color-text-regular-normal};
|
||||||
|
|
||||||
|
& * {
|
||||||
|
color: #{$color-text-regular-normal};
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #{$color-link-hover};
|
||||||
|
|
||||||
|
& * {
|
||||||
|
color: #{$color-link-hover};
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: Not working, big F
|
||||||
|
//i {
|
||||||
|
// text-decoration: none !important;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Site > Text > Targeted Rules */
|
||||||
|
|
||||||
|
.t-logo-text {
|
||||||
|
font-size: 1.775em;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site > Text > Targeted Rules > Sidebar */
|
||||||
|
// Special rules for the sidebar and FontAwesome icons
|
||||||
|
|
||||||
|
.sidebar-entry {
|
||||||
|
i {
|
||||||
|
width: 1.9rem !important;
|
||||||
|
// Required to prevent a size flicker when hiding/showing the sidebar.
|
||||||
|
// The about link is the most visible one.
|
||||||
|
min-width: 1.9rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Preventing a subtle line break when hiding/showing the sidebar.
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
|
// Doesn't work, even with hyper-specific parent selectors...
|
||||||
|
//> i, > i:hover {
|
||||||
|
// text-decoration: none !important;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site > Text > Targeted Rules > Headings */
|
||||||
|
|
||||||
|
// And now for the headings, the exceptions keep popping up :,)
|
||||||
|
// TODO: Add a simple and nicer divider.
|
||||||
|
.heading-main {
|
||||||
|
> h2, > h3, >h4 {
|
||||||
|
> i {
|
||||||
|
//margin-left: 0.25rem;
|
||||||
|
margin-right: 0.4rem;
|
||||||
|
padding-right: 0.1rem;
|
||||||
|
width: 1.75rem !important;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
9
scss/site/video.scss
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
|
||||||
|
/* Site > Elements > Video */
|
||||||
|
|
||||||
|
// FIXME: Does not respect the core tenets !
|
||||||
|
video {
|
||||||
|
width: 100% !important;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
78
scss/site/wedge.scss
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// NibblePoker.lu CSS - (C) 2023 Bozet Herwin
|
||||||
|
|
||||||
|
/* Custom Elements > Wedge */
|
||||||
|
|
||||||
|
.wedge {
|
||||||
|
position: absolute;
|
||||||
|
//top: 0;
|
||||||
|
//right: 0;
|
||||||
|
|
||||||
|
color: #{$color-text-regular-normal};
|
||||||
|
background-color: #{$color-background-button};
|
||||||
|
|
||||||
|
user-select: none;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
//opacity: 0.875;
|
||||||
|
|
||||||
|
// https://codepen.io/setswon/pen/VJeXXq
|
||||||
|
// Using a value of ~0.35 feels sluggish.
|
||||||
|
//transition: color 0.25s ease;
|
||||||
|
//transition-timing-function: cubic-bezier(.47,1.64,.41,.8);
|
||||||
|
|
||||||
|
&:hover:not(.no-hover) {
|
||||||
|
background-color: #{$color-background-button-hover};
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wedge-shadow {
|
||||||
|
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.primary {
|
||||||
|
background-color: #{$color-background-button-primary};
|
||||||
|
&:hover:not(.no-hover) {
|
||||||
|
background-color: #{$color-background-button-primary-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.success {
|
||||||
|
background-color: #{$color-background-button-success};
|
||||||
|
&:hover:not(.no-hover) {
|
||||||
|
background-color: #{$color-background-button-success-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.error {
|
||||||
|
background-color: #{$color-background-button-error};
|
||||||
|
&:hover:not(.no-hover) {
|
||||||
|
background-color: #{$color-background-button-error-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.warning {
|
||||||
|
background-color: #{$color-background-button-warning};
|
||||||
|
&:hover:not(.no-hover) {
|
||||||
|
background-color: #{$color-background-button-warning-hover};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wedge-tr {
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wedge-br {
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wedge-tl {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.wedge-bl {
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
315
scss/variables.scss
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
// NibblePoker CSS Theme - CC0 1.0 (Public Domain)
|
||||||
|
@use 'sass:color';
|
||||||
|
|
||||||
|
/* Variables > Palettes */
|
||||||
|
|
||||||
|
/* Variables > Palettes > Apollo */
|
||||||
|
// https://lospec.com/palette-list/apollo
|
||||||
|
$color-apollo-00: #172038;
|
||||||
|
$color-apollo-01: #253a5e;
|
||||||
|
$color-apollo-02: #3c5e8b;
|
||||||
|
$color-apollo-03: #4f8fba;
|
||||||
|
$color-apollo-04: #73bed3;
|
||||||
|
$color-apollo-05: #a4dddb;
|
||||||
|
$color-apollo-06: #19332d;
|
||||||
|
$color-apollo-07: #25562e;
|
||||||
|
$color-apollo-08: #468232;
|
||||||
|
$color-apollo-09: #75a743;
|
||||||
|
$color-apollo-10: #a8ca58;
|
||||||
|
$color-apollo-11: #d0da91;
|
||||||
|
$color-apollo-12: #4d2b32;
|
||||||
|
$color-apollo-13: #7a4841;
|
||||||
|
$color-apollo-14: #ad7757;
|
||||||
|
$color-apollo-15: #c09473;
|
||||||
|
$color-apollo-16: #d7b594;
|
||||||
|
$color-apollo-17: #e7d5b3;
|
||||||
|
$color-apollo-18: #341c27;
|
||||||
|
$color-apollo-19: #602c2c;
|
||||||
|
$color-apollo-20: #884b2b;
|
||||||
|
$color-apollo-21: #be772b;
|
||||||
|
$color-apollo-22: #de9e41;
|
||||||
|
$color-apollo-23: #e8c170;
|
||||||
|
$color-apollo-24: #241527;
|
||||||
|
$color-apollo-25: #411d31;
|
||||||
|
$color-apollo-26: #752438;
|
||||||
|
$color-apollo-27: #a53030;
|
||||||
|
$color-apollo-28: #cf573c;
|
||||||
|
$color-apollo-29: #da863e;
|
||||||
|
$color-apollo-30: #1e1d39;
|
||||||
|
$color-apollo-31: #402751;
|
||||||
|
$color-apollo-32: #7a367b;
|
||||||
|
$color-apollo-33: #a23e8c;
|
||||||
|
$color-apollo-34: #c65197;
|
||||||
|
$color-apollo-35: #df84a5;
|
||||||
|
$color-apollo-36: #090a14;
|
||||||
|
$color-apollo-37: #10141f;
|
||||||
|
$color-apollo-38: #151d28;
|
||||||
|
$color-apollo-39: #202e37;
|
||||||
|
$color-apollo-40: #394a50;
|
||||||
|
$color-apollo-41: #577277;
|
||||||
|
$color-apollo-42: #819796;
|
||||||
|
$color-apollo-43: #a8b5b2;
|
||||||
|
$color-apollo-44: #c7cfcc;
|
||||||
|
$color-apollo-45: #ebede9;
|
||||||
|
|
||||||
|
$color-apollo-37_50: mix($color-apollo-37, $color-apollo-38, 50%);
|
||||||
|
|
||||||
|
$color-apollo-38_25: mix($color-apollo-39, $color-apollo-38, 25%);
|
||||||
|
$color-apollo-38_50: mix($color-apollo-39, $color-apollo-38, 50%);
|
||||||
|
$color-apollo-38_70: mix($color-apollo-39, $color-apollo-38, 70%);
|
||||||
|
$color-apollo-38_75: mix($color-apollo-39, $color-apollo-38, 75%);
|
||||||
|
|
||||||
|
$color-apollo-munted-37-1: color.grayscale(color.adjust($color-apollo-37, $lightness: +3.25%));
|
||||||
|
$color-apollo-munted-37-2: color.grayscale(color.adjust($color-apollo-37, $lightness: +1.75%));
|
||||||
|
|
||||||
|
$color-apollo-custom-00: mix($color-apollo-40, $color-apollo-39, 33%);
|
||||||
|
$color-apollo-custom-01: mix($color-apollo-40, $color-apollo-39, 50%);
|
||||||
|
$color-apollo-custom-02: mix($color-apollo-40, $color-apollo-39, 2.5%);
|
||||||
|
$color-apollo-custom-03: mix($color-apollo-40, $color-apollo-39, 65%);
|
||||||
|
|
||||||
|
$color-apollo-custom-10: mix($color-apollo-40, $color-apollo-41, 75%);
|
||||||
|
|
||||||
|
$color-apollo-custom-20: mix($color-apollo-39, $color-apollo-38, 60%);
|
||||||
|
|
||||||
|
$color-apollo-custom-30: mix($color-apollo-01, $color-apollo-03, 80%); // Primary button
|
||||||
|
$color-apollo-custom-31: mix($color-apollo-01, $color-apollo-03, 65%); // Primary button hover
|
||||||
|
|
||||||
|
/* Variables > Palettes > Material UI */
|
||||||
|
// https://materialui.co/colors
|
||||||
|
|
||||||
|
$color-material-blueGrey-50: #eceff1;
|
||||||
|
$color-material-blueGrey-100: #cfd8dc;
|
||||||
|
$color-material-blueGrey-200: #b0bec5;
|
||||||
|
$color-material-blueGrey-300: #90a4ae;
|
||||||
|
$color-material-blueGrey-400: #78909c;
|
||||||
|
$color-material-blueGrey-500: #607d8b;
|
||||||
|
$color-material-blueGrey-600: #546e7a;
|
||||||
|
$color-material-blueGrey-700: #455a64;
|
||||||
|
$color-material-blueGrey-800: #37474f;
|
||||||
|
$color-material-blueGrey-900: #263238;
|
||||||
|
|
||||||
|
$color-material-blueGrey-1000: #151D21;
|
||||||
|
$color-material-blueGrey-850: mix($color-material-blueGrey-800, $color-material-blueGrey-900, 50%);
|
||||||
|
//$color-material-blueGrey-925: mix($color-material-blueGrey-1000, $color-material-blueGrey-900, 25%);
|
||||||
|
$color-material-blueGrey-950: mix($color-material-blueGrey-1000, $color-material-blueGrey-900, 50%);
|
||||||
|
|
||||||
|
/* Variables > Palettes > WinUI 3 */
|
||||||
|
|
||||||
|
$color-winui-00: #191919;
|
||||||
|
$color-winui-01: #1D1D1D;
|
||||||
|
$color-winui-02: #202020;
|
||||||
|
$color-winui-03: #232323;
|
||||||
|
$color-winui-04: #272727;
|
||||||
|
$color-winui-05: #323232;
|
||||||
|
$color-winui-06: #3E3E3E;
|
||||||
|
|
||||||
|
// https://flatuicolors.com/palette/defo
|
||||||
|
|
||||||
|
/* Variables > Palettes > Misc */
|
||||||
|
|
||||||
|
//$color-test-01: mix(#7b6aa5, #000000, 33%);
|
||||||
|
//$color-test-02: #007c7d;
|
||||||
|
|
||||||
|
/* Variables > Colors Mappings */
|
||||||
|
|
||||||
|
$color-unset: $color-apollo-34;
|
||||||
|
|
||||||
|
/* Variables > Theme selection */
|
||||||
|
|
||||||
|
// Available themes:
|
||||||
|
// * Teal Supreme (teal)
|
||||||
|
// * WinUI 3 (winui)
|
||||||
|
// * La Moiti Leune (moon)
|
||||||
|
// * NibblePoker (nibblepoker)
|
||||||
|
$theme: nibblepoker;
|
||||||
|
|
||||||
|
/* Variables > Colors Mappings > Backgrounds & Borders */
|
||||||
|
|
||||||
|
$color-background-main: map-get((
|
||||||
|
teal: $color-apollo-custom-02,
|
||||||
|
winui: $color-winui-04,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #24252B,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-background-surround: map-get((
|
||||||
|
teal: $color-apollo-custom-00,
|
||||||
|
winui: $color-winui-02,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #1D1E22,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
// Used as the background-color in the main's rounded corners
|
||||||
|
$color-background-body: $color-background-surround;
|
||||||
|
|
||||||
|
// Used in stylized headings
|
||||||
|
$color-background-main-headings: map-get((
|
||||||
|
teal: $color-background-surround,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: $color-background-surround,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
|
||||||
|
// FIXME: Remove its usage !
|
||||||
|
// Left: Code, Kbd, Scrollbar ???
|
||||||
|
$color-border-all: $color-unset; // Default border
|
||||||
|
$color-border-light: $color-unset; // For .b-light class (No longer exists !)
|
||||||
|
|
||||||
|
// Used to separate the 'main' from the 'surround'.
|
||||||
|
$color-border-surround: map-get((
|
||||||
|
teal: $color-apollo-38,
|
||||||
|
winui: $color-winui-01,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #141417,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
// Used as the border for all element inside the "main".
|
||||||
|
// It probably influences more stuff, but I can't be bothered to fix this...
|
||||||
|
$color-border-main: map-get((
|
||||||
|
teal: $color-apollo-38, // $color-apollo-custom-20;
|
||||||
|
winui: $color-winui-03,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: $color-border-surround,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
// TEMP !!!
|
||||||
|
$color-border-all: $color-border-main;
|
||||||
|
|
||||||
|
$color-background-code: map-get((
|
||||||
|
teal: $color-apollo-custom-20,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: mix($color-background-main, $color-background-surround, 25%),
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-border-code: map-get((
|
||||||
|
teal: #{$color-border-surround}CF,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #{$color-border-surround}CF,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
|
||||||
|
$color-background-table-main: map-get((
|
||||||
|
teal: $color-apollo-custom-01,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: mix($color-background-main, $color-background-surround, 50%),
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-background-table-dual: map-get((
|
||||||
|
teal: $color-apollo-custom-00,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: mix($color-background-main, $color-background-surround, 12.5%),
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-table-border: map-get((
|
||||||
|
teal: $color-apollo-39,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #{$color-border-surround}CF,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-background-inputs: map-get((
|
||||||
|
teal: $color-apollo-40,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #2d2f36,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
// TODO: Implement better ones !
|
||||||
|
$color-background-checkbox-checked: $color-apollo-08;
|
||||||
|
$color-background-checkbox-unchecked: $color-apollo-27;
|
||||||
|
|
||||||
|
$color-background-button: map-get((
|
||||||
|
teal: $color-apollo-40,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #2d2f36,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-background-button-hover: map-get((
|
||||||
|
teal: $color-apollo-custom-10,
|
||||||
|
winui: $color-unset,
|
||||||
|
moon: $color-unset,
|
||||||
|
nibblepoker: #373841,
|
||||||
|
), $theme);
|
||||||
|
|
||||||
|
$color-background-button-primary: #{$color-apollo-custom-30};
|
||||||
|
$color-background-button-primary-hover: mix($color-apollo-custom-30, $color-apollo-custom-31, 37.5%);
|
||||||
|
|
||||||
|
$color-background-button-success: #{$color-apollo-07};
|
||||||
|
$color-background-button-success-hover: mix($color-apollo-07, $color-apollo-08, 50%);
|
||||||
|
|
||||||
|
$color-background-button-error: #{$color-apollo-26};
|
||||||
|
$color-background-button-error-hover: #{$color-apollo-27};
|
||||||
|
|
||||||
|
$color-background-button-warning: #{$color-apollo-20};
|
||||||
|
$color-background-button-warning-hover: #{$color-apollo-21};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Variables > Colors Mappings > Text */
|
||||||
|
|
||||||
|
$color-text-regular-normal: $color-apollo-45;
|
||||||
|
$color-text-inputs: $color-apollo-45;
|
||||||
|
$color-text-muted: #{$color-apollo-45}E0;
|
||||||
|
$color-text-muted-super: #{$color-apollo-45}C0;
|
||||||
|
|
||||||
|
$color-link-hover: rgb(253, 255, 251);
|
||||||
|
|
||||||
|
// Should be a mix of 03-04 and 04-05.
|
||||||
|
$color-link-blue: #{$color-apollo-04};
|
||||||
|
$color-link-blue-hover: #{$color-apollo-05};
|
||||||
|
|
||||||
|
//$color-border-all: $color-apollo-38;
|
||||||
|
//$color-border-light: $color-apollo-custom-20;
|
||||||
|
|
||||||
|
$color-input-glow: $color-apollo-02;
|
||||||
|
|
||||||
|
//$color-wedge-blue-background: $color-apollo-03;
|
||||||
|
|
||||||
|
// Still used for wedges !!! - Nope, it looked bad with the new colors !
|
||||||
|
//$color-wedge-blue-border: $color-apollo-02;
|
||||||
|
|
||||||
|
//$color-background-body: $color-apollo-custom-00;
|
||||||
|
//$color-background-main: $color-apollo-custom-02;
|
||||||
|
//$color-background-surround: $color-apollo-custom-00;
|
||||||
|
//
|
||||||
|
//// TMP V2
|
||||||
|
//$color-background-body: $color-material-blueGrey-900;
|
||||||
|
//$color-background-main: $color-material-blueGrey-950;
|
||||||
|
//$color-background-surround: $color-material-blueGrey-900;
|
||||||
|
|
||||||
|
|
||||||
|
/* Variables > Scrollbar */
|
||||||
|
|
||||||
|
//$color-scrollbar-border: rgba(0, 0, 0, 0.15);
|
||||||
|
$color-scrollbar-border: $color-border-surround;
|
||||||
|
|
||||||
|
$scrollbar-size: 1.25em;
|
||||||
|
|
||||||
|
/* Variables > Others */
|
||||||
|
|
||||||
|
$border-base-radius: 5px;
|
||||||
|
|
||||||
|
$margin-base-size: 1rem;
|
||||||
|
|
||||||
|
$grid-gap-base-size: 1rem;
|
||||||
|
|
||||||
|
//$hr-base-height: 0.5rem; // Nope
|
||||||
|
|
||||||
|
$text-header-weight: 600;
|
||||||
|
|
||||||
|
$size-sidebar: 15rem;
|
||||||
|
//$size-sidebar: 30rem;
|
||||||
|
|
||||||
|
$content-search-image-size: 128px;
|
||||||
|
|
||||||
|
/* Variables > Z Indexes */
|
||||||
|
|
||||||
|
$z-index-sidebar: 5;
|
||||||
|
$z-index-lang-dropdown: 10;
|
||||||
|
$z-index-modal: 99;
|
45
setup.cmd
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: Going into the script's directory
|
||||||
|
cd /D "%~dp0"
|
||||||
|
|
||||||
|
|
||||||
|
:setup
|
||||||
|
echo.
|
||||||
|
echo Setting up your system
|
||||||
|
echo ----------------------
|
||||||
|
|
||||||
|
:setup-npm
|
||||||
|
echo Updating NPM...
|
||||||
|
pushd %CD%
|
||||||
|
call npm update -g npm
|
||||||
|
popd
|
||||||
|
|
||||||
|
:setup-sass
|
||||||
|
echo Installing SASS...
|
||||||
|
pushd %CD%
|
||||||
|
call npm install -g sass
|
||||||
|
popd
|
||||||
|
:setup-sass-update
|
||||||
|
echo Updating SASS...
|
||||||
|
pushd %CD%
|
||||||
|
call npm update -g sass
|
||||||
|
popd
|
||||||
|
|
||||||
|
:setup-html-minify
|
||||||
|
echo Installing HTML Minifier...
|
||||||
|
pushd %CD%
|
||||||
|
call npm install -g html-minifier
|
||||||
|
popd
|
||||||
|
|
||||||
|
:setup-html-minify-update
|
||||||
|
echo Updating HTML Minifier...
|
||||||
|
pushd %CD%
|
||||||
|
call npm update -g html-minifier
|
||||||
|
popd
|
||||||
|
|
||||||
|
:setup-end
|
||||||
|
|
||||||
|
|
||||||
|
:end
|