Added initial files to the website
This commit is contained in:
parent
aee358b4f9
commit
20ba1e69dd
17 changed files with 1181 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/cosmicpirates.space-gmi/
|
||||
/cosmicpirates.space-html/
|
24
FAQ.org
Normal file
24
FAQ.org
Normal file
|
@ -0,0 +1,24 @@
|
|||
#+title: Faq
|
||||
#+setupfile: main.setup
|
||||
|
||||
#+begin_center
|
||||
: +-------------------------------------------+
|
||||
: | ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ |
|
||||
: | ▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ |
|
||||
: | ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌ ▐░█▀▀▀▀▀▀▀█░▌ |
|
||||
: | ▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░▌ |
|
||||
: | ▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄█░▌ ▐░▌ ▐░▌ |
|
||||
: | ▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░▌ ▐░▌ |
|
||||
: | ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌ ▐░█▄▄▄▄▄▄▄█░▌ |
|
||||
: | ▐░▌ ▐░▌ ▐░▌ ▐░░░░░░░░░░░▌ |
|
||||
: | ▐░▌ ▐░▌ ▐░▌ ▀▀▀▀▀▀█░█▀▀ |
|
||||
: | ▐░▌ ▐░▌ ▐░▌ ▐░▌ |
|
||||
: | ▀ ▀ ▀ ▀ |
|
||||
: +-------------------------------------------+
|
||||
#+end_center
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
24
about.org
Normal file
24
about.org
Normal file
|
@ -0,0 +1,24 @@
|
|||
#+title: About
|
||||
#+created: [2024-03-02 Sat]
|
||||
#+setupfile: main.setup
|
||||
|
||||
#+begin_center
|
||||
: +--------------------------------------+
|
||||
: | ___ _ _ |
|
||||
: | / _ \ | | | | |
|
||||
: |/ /_\ \ | |__ ___ _ _ | |_ |
|
||||
: || _ | | '_ \ / _ \ | | | | | __| |
|
||||
: || | | | | |_) | | (_) | | |_| | | |_ |
|
||||
: |\_| |_/ |_.__/ \___/ \__,_| \__| |
|
||||
: +--------------------------------------+
|
||||
#+end_center
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
|
||||
We think that knowledge should be open to everyone and freely accessible.
|
||||
This website will document our projects, interests and ideas.
|
||||
|
4
blog-table-latest-10.txt
Normal file
4
blog-table-latest-10.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:./blogs/test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
29
blogs/blog-list.org
Normal file
29
blogs/blog-list.org
Normal file
|
@ -0,0 +1,29 @@
|
|||
#+title: Blogs List
|
||||
#+created: [2024-03-01 Fri]
|
||||
#+OPTIONS: num:nil ^:{} title:nil toc:nil
|
||||
#+setupfile: ../main.setup
|
||||
|
||||
#+begin_center
|
||||
: +-----------------------------------------------------+
|
||||
: |oooooooooo. oooo |
|
||||
: |`888' `Y8b `888 |
|
||||
: | 888 888 888 .ooooo. .oooooooo .oooo.o |
|
||||
: | 888oooo888' 888 d88' `88b 888' `88b d88( "8 |
|
||||
: | 888 `88b 888 888 888 888 888 `"Y88b. |
|
||||
: | 888 .88P 888 888 888 `88bod8P' o. )88b |
|
||||
: |o888bood8P' o888o `Y8bod8P' `8oooooo. 8""888P' |
|
||||
: | d" YD |
|
||||
: | "Y88888P' |
|
||||
: +-----------------------------------------------------+
|
||||
#+end_center
|
||||
|
||||
[[../index.org][Home]]
|
||||
|
||||
* A list of All Blogs
|
||||
|
||||
#+name: blog-table-complete.txt
|
||||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
||||
|
4
blogs/blog-table-complete.txt
Normal file
4
blogs/blog-table-complete.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
46
blogs/blog.setup
Normal file
46
blogs/blog.setup
Normal file
|
@ -0,0 +1,46 @@
|
|||
# -*- mode: org; -*-
|
||||
|
||||
# These are the options for blog pages
|
||||
# title is automatically set to blog name
|
||||
|
||||
#+OPTIONS: num:nil ^:{} toc:nil
|
||||
|
||||
The following are the html customiation options
|
||||
|
||||
Setting the background color to black
|
||||
#+HTML_HEAD:<style> body { background-color: #000000; color: #eeeeee;border 5px; padding 5px} </style>
|
||||
#+HTML_HEAD:<style> pre { background-color: #000000; } </style>
|
||||
|
||||
* Margins
|
||||
** p
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: p {
|
||||
#+HTML_HEAD: margin-top: 20px;
|
||||
#+HTML_HEAD: margin-bottom: 20px;
|
||||
#+HTML_HEAD: margin-left: 30px;
|
||||
#+HTML_HEAD: margin-right: 30px;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD:</style>
|
||||
** h2
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: h2 {
|
||||
#+HTML_HEAD: margin-top: 20px;
|
||||
#+HTML_HEAD: margin-bottom: 20px;
|
||||
#+HTML_HEAD: margin-left: 10px;
|
||||
#+HTML_HEAD: margin-right: 10px;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD:</style>
|
||||
|
||||
|
||||
Alligning center blocks to the center
|
||||
#+HTML_HEAD:<style> .org-center {text-align: center;} </style>
|
||||
|
||||
Setting up tables to always be in the center
|
||||
#+HTML_HEAD:<style> table { margin-left: auto; margin-right:auto; } </style>
|
||||
|
||||
Setting up the h2(main) heading
|
||||
#+HTML_HEAD:<style> h2 {font-size: 35px; color: #a3373c;} </style>
|
||||
|
||||
Setting up the h3 heading
|
||||
#+HTML_HEAD:<style> h3 {font-size: 30px; color: #3778a3; text-align: center;} </style>
|
||||
#+HTML_HEAD:
|
11
blogs/test_blog_3.org
Normal file
11
blogs/test_blog_3.org
Normal file
|
@ -0,0 +1,11 @@
|
|||
#+title: Test Blog
|
||||
#+created: [2024-02-05 Thu]
|
||||
#+last_modified:
|
||||
#+setupfile: blog.setup
|
||||
#+author: Dibyashanu Pati
|
||||
|
||||
* Introduction
|
||||
Hello World
|
||||
|
||||
* About
|
||||
This is just a test blog
|
151
contact.org
Normal file
151
contact.org
Normal file
|
@ -0,0 +1,151 @@
|
|||
#+title: Contact
|
||||
#+created: [2024-03-02 Sat]
|
||||
#+setupfile: main.setup
|
||||
|
||||
#+begin_center
|
||||
: +----------------------------+
|
||||
: | ╔═╗ ┌─┐ ┌┐┌ ┌┬┐ ┌─┐ ┌─┐ ┌┬┐|
|
||||
: | ║ │ │ │││ │ ├─┤ │ │ |
|
||||
: | ╚═╝ └─┘ ┘└┘ ┴ ┴ ┴ └─┘ ┴ |
|
||||
: +----------------------------+
|
||||
#+end_center
|
||||
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
|
||||
* Dibyashanu Pati
|
||||
#+begin_center
|
||||
: ┌─┐ ┌┬┐ ┌─┐ ┬ ┬
|
||||
: ├┤ │││ ├─┤ │ │
|
||||
: └─┘ ┴ ┴ ┴ ┴ ┴ ┴─┘
|
||||
|
||||
: ┌┬┐ ┬ ┌┐ ┬ ┬ ┌─┐ ┌─┐ ┬ ┬ ┌─┐ ┌┐┌ ┬ ┬ ┌─┐ ┌─┐ ┬─┐ ┌─┐ ┌┬┐ ┌─┐ ┌┐┌ ┌┬┐ ┌─┐ ┬ ┬ ┌─┐ ┌─┐ ┌┬┐
|
||||
: ││ │ ├┴┐ └┬┘ ├─┤ └─┐ ├─┤ ├─┤ │││ │ │ │└┘ ├─┘ ├┬┘ │ │ │ │ │ │││ │││ ├─┤ │ │ │ │ │ │││
|
||||
: ─┴┘ ┴ └─┘ ┴ ┴ ┴ └─┘ ┴ ┴ ┴ ┴ ┘└┘ └─┘ └── ┴ ┴└─ └─┘ ┴ └─┘ ┘└┘ ┴ ┴ ┴ ┴ ┴ ┴─┘ o └─┘ └─┘ ┴ ┴
|
||||
#+end_center
|
||||
|
||||
** PGP Keys
|
||||
#+begin_src
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
Uwr5q7YlZSsd+DyyEU6tpNO98Afjk+0=
|
||||
=JCgB
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
#+end_src
|
||||
|
||||
* Pranav Kalsi
|
||||
#+begin_center
|
||||
: ┌─┐ ┌┬┐ ┌─┐ ┬ ┬
|
||||
: ├┤ │││ ├─┤ │ │
|
||||
: └─┘ ┴ ┴ ┴ ┴ ┴ ┴─┘
|
||||
|
||||
: ┌─┐ ┬─┐ ┌─┐ ┌┐┌ ┌─┐ ┬ ┬ ┬┌─ ┌─┐ ┬ ┌─┐ ┬ ┌─┐ ┌─┐ ┬─┐ ┌─┐ ┌┬┐ ┌─┐ ┌┐┌ ┌┬┐ ┌─┐
|
||||
: ├─┘ ├┬┘ ├─┤ │││ ├─┤ └┐┌┘ ├┴┐ ├─┤ │ └─┐ │ │└┘ ├─┘ ├┬┘ │ │ │ │ │ │││ │││ ├┤
|
||||
: ┴ ┴└─ ┴ ┴ ┘└┘ ┴ ┴ └┘ ┴ ┴ ┴ ┴ ┴─┘ └─┘ ┴ └── ┴ ┴└─ └─┘ ┴ └─┘ ┘└┘ o ┴ ┴ └─┘
|
||||
#+end_center
|
||||
** PGP Keys
|
||||
#+begin_src
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=OaHj
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
#+end_src
|
1
i2p-b32-address.txt
Normal file
1
i2p-b32-address.txt
Normal file
|
@ -0,0 +1 @@
|
|||
http://dbtjoqs5jnsyq6m6r35a47jix2v4zeloz5fpxi6htwihpnv3fcxq.b32.i2p
|
28
index.org
Normal file
28
index.org
Normal file
|
@ -0,0 +1,28 @@
|
|||
#+TITLE: Home
|
||||
#+created: [2024-03-01 Fri]
|
||||
#+setupfile: main.setup
|
||||
|
||||
#+begin_center
|
||||
: +------------------------------------------------------------------------------------------------------------------------+
|
||||
: | ██████╗ ██████╗ ███████╗ ███╗ ███╗ ██╗ ██████╗ ██████╗ ██╗ ██████╗ █████╗ ████████╗ ███████╗ ███████╗ |
|
||||
: | ██╔════╝ ██╔═══██╗ ██╔════╝ ████╗ ████║ ██║ ██╔════╝ ██╔══██╗ ██║ ██╔══██╗ ██╔══██╗ ╚══██╔══╝ ██╔════╝ ██╔════╝ |
|
||||
: | ██║ ██║ ██║ ███████╗ ██╔████╔██║ ██║ ██║ █████╗ ██████╔╝ ██║ ██████╔╝ ███████║ ██║ █████╗ ███████╗ |
|
||||
: | ██║ ██║ ██║ ╚════██║ ██║╚██╔╝██║ ██║ ██║ ╚════╝ ██╔═══╝ ██║ ██╔══██╗ ██╔══██║ ██║ ██╔══╝ ╚════██║ |
|
||||
: | ╚██████╗ ╚██████╔╝ ███████║ ██║ ╚═╝ ██║ ██║ ╚██████╗ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ███████╗ ███████║ |
|
||||
: | ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚══════╝ |
|
||||
: +------------------------------------------------------------------------------------------------------------------------+
|
||||
#+end_center
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
* Latest Blogs
|
||||
Here is a list of our latest blog posts
|
||||
|
||||
#+name: blog-table-latest-10.txt
|
||||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:./blogs/test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
3
link-list.txt
Normal file
3
link-list.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
50
links.org
Normal file
50
links.org
Normal file
|
@ -0,0 +1,50 @@
|
|||
#+title: Links
|
||||
#+created: [2024-03-06 Wed]
|
||||
#+last_modified: [2024-03-06 Wed]
|
||||
#+setupfile: main.setup
|
||||
|
||||
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: h2 {
|
||||
#+HTML_HEAD: margin-top: 30px;
|
||||
#+HTML_HEAD: margin-bottom: 3px;
|
||||
#+HTML_HEAD: margin-left: 3px;
|
||||
#+HTML_HEAD: margin-right: 3px;
|
||||
#+HTML_HEAD: font-size: 45px;
|
||||
#+HTML_HEAD: color: #43c52e;
|
||||
#+HTML_HEAD: text-align: left;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD:</style>
|
||||
|
||||
|
||||
|
||||
#+begin_center
|
||||
: +------------------------------------------+
|
||||
: | '|| '|| |
|
||||
: | || '' || |
|
||||
: | || || `||''|, || //` ('''' |
|
||||
: | || || || || ||<< `'') |
|
||||
: | .||...| .||. .|| ||. .|| \\. `...' |
|
||||
: +------------------------------------------+
|
||||
#+end_center
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
#+TOC: headlines 1
|
||||
|
||||
* cosmicpirates.space
|
||||
** Clearnet
|
||||
https://cosmicpirates.space/
|
||||
|
||||
|
||||
** TOR
|
||||
#+name: tor-onionv3-address.txt
|
||||
http://acfc2abqv65bdiwimrx74vrlxy6eel66cjlmgqqvdekcrx7ufl3c2cad.onion
|
||||
|
||||
|
||||
** I2P
|
||||
#+name: i2p-b32-address.txt
|
||||
http://dbtjoqs5jnsyq6m6r35a47jix2v4zeloz5fpxi6htwihpnv3fcxq.b32.i2p
|
706
main.org
Normal file
706
main.org
Normal file
|
@ -0,0 +1,706 @@
|
|||
#+title: Main
|
||||
#+startup: overview
|
||||
|
||||
* Usage Instructions and Best Practices
|
||||
** Basic Plan
|
||||
+ The entire organization of the website is generated by the scripts in this file.
|
||||
+ These scripts generated org files which are later published in other formats
|
||||
|
||||
** TODO Software and tools
|
||||
+ [[https://www.gnu.org/software/emacs/][Emacs]]
|
||||
+ [[https://github.com/doomemacs/doomemacs][doomemacs]]
|
||||
** How to use this file
|
||||
This file contains all the information for the website and updating the website consist of the following steps
|
||||
1. Run all scripts on this page by running org-babel-execut-buffer(C-c C-v b)
|
||||
2. Publish the Project org-Publish (SPC-m P p)
|
||||
3. Check the local copy of the website
|
||||
4. If sure sync the local copy with the server copy
|
||||
** Advice
|
||||
+ Do not use the #+include tag
|
||||
Writing dynamic content to files and then using #+include to include them in other files has unreliable link conversion
|
||||
|
||||
|
||||
* Static content and Sample code snippets
|
||||
** Generating the ASCII headings
|
||||
*** Main Heading
|
||||
#+name: main-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "Cosmic - Pirates"
|
||||
|
||||
# Choose the font
|
||||
font = "ANSI Shadow"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
result = j.get_banner_from_text(font,text)
|
||||
print(result)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: main-heading-text
|
||||
: ██████╗ ██████╗ ███████╗ ███╗ ███╗ ██╗ ██████╗ ██████╗ ██╗ ██████╗ █████╗ ████████╗ ███████╗ ███████╗
|
||||
: ██╔════╝ ██╔═══██╗ ██╔════╝ ████╗ ████║ ██║ ██╔════╝ ██╔══██╗ ██║ ██╔══██╗ ██╔══██╗ ╚══██╔══╝ ██╔════╝ ██╔════╝
|
||||
: ██║ ██║ ██║ ███████╗ ██╔████╔██║ ██║ ██║ █████╗ ██████╔╝ ██║ ██████╔╝ ███████║ ██║ █████╗ ███████╗
|
||||
: ██║ ██║ ██║ ╚════██║ ██║╚██╔╝██║ ██║ ██║ ╚════╝ ██╔═══╝ ██║ ██╔══██╗ ██╔══██║ ██║ ██╔══╝ ╚════██║
|
||||
: ╚██████╗ ╚██████╔╝ ███████║ ██║ ╚═╝ ██║ ██║ ╚██████╗ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ███████╗ ███████║
|
||||
: ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚══════╝
|
||||
:
|
||||
:
|
||||
: None
|
||||
*** About Heading
|
||||
#+name: about-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "About"
|
||||
|
||||
# Choose the font
|
||||
font = "Doom"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: about-heading-text
|
||||
#+begin_example
|
||||
___ _ _
|
||||
/ _ \ | | | |
|
||||
/ /_\ \ | |__ ___ _ _ | |_
|
||||
| _ | | '_ \ / _ \ | | | | | __|
|
||||
| | | | | |_) | | (_) | | |_| | | |_
|
||||
\_| |_/ |_.__/ \___/ \__,_| \__|
|
||||
|
||||
|
||||
|
||||
None
|
||||
#+end_example
|
||||
|
||||
*** News Heading
|
||||
#+name: news-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "News"
|
||||
|
||||
# Choose the font
|
||||
font = "Ivrit"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: news-heading-text
|
||||
: _ _
|
||||
: | \ | | ___ __ __ ___
|
||||
: | \| | / _ \ \ \ /\ / / / __|
|
||||
: | |\ | | __/ \ V V / \__ \
|
||||
: |_| \_| \___| \_/\_/ |___/
|
||||
:
|
||||
:
|
||||
: None
|
||||
|
||||
*** FAQ Heading
|
||||
|
||||
#+name: FAQ-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "FAQ"
|
||||
|
||||
# Choose the font
|
||||
font = "Electronic"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: FAQ-heading-text
|
||||
#+begin_example
|
||||
▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄
|
||||
▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌
|
||||
▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌ ▐░█▀▀▀▀▀▀▀█░▌
|
||||
▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░▌
|
||||
▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄█░▌ ▐░▌ ▐░▌
|
||||
▐░░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░▌ ▐░▌
|
||||
▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌ ▐░█▄▄▄▄▄▄▄█░▌
|
||||
▐░▌ ▐░▌ ▐░▌ ▐░░░░░░░░░░░▌
|
||||
▐░▌ ▐░▌ ▐░▌ ▀▀▀▀▀▀█░█▀▀
|
||||
▐░▌ ▐░▌ ▐░▌ ▐░▌
|
||||
▀ ▀ ▀ ▀
|
||||
|
||||
|
||||
None
|
||||
#+end_example
|
||||
|
||||
*** Links Heading
|
||||
#+name: Links-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "Links"
|
||||
|
||||
# Choose the font
|
||||
font = "Fender"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: Links-heading-text
|
||||
: '|| '||
|
||||
: || '' ||
|
||||
: || || `||''|, || //` (''''
|
||||
: || || || || ||<< `'')
|
||||
: .||...| .||. .|| ||. .|| \\. `...'
|
||||
:
|
||||
:
|
||||
:
|
||||
: None
|
||||
|
||||
*** Contact Heading
|
||||
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "Contact"
|
||||
|
||||
# Choose the font
|
||||
font = "Calvin S"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: ╔═╗ ┌─┐ ┌┐┌ ┌┬┐ ┌─┐ ┌─┐ ┌┬┐
|
||||
: ║ │ │ │││ │ ├─┤ │ │
|
||||
: ╚═╝ └─┘ ┘└┘ ┴ ┴ ┴ └─┘ ┴
|
||||
:
|
||||
: None
|
||||
|
||||
*** Blog List Heading
|
||||
#+name: Blogs-heading-text
|
||||
#+begin_src python :results output
|
||||
# Enter the Text you want to be converted
|
||||
text = "Blogs"
|
||||
|
||||
# Choose the font
|
||||
font = "Roman"
|
||||
from jimner import jimner
|
||||
j = jimner()
|
||||
|
||||
print(j.get_banner_from_text(font,text))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: Blogs-heading-text
|
||||
#+begin_example
|
||||
oooooooooo. oooo
|
||||
`888' `Y8b `888
|
||||
888 888 888 .ooooo. .oooooooo .oooo.o
|
||||
888oooo888' 888 d88' `88b 888' `88b d88( "8
|
||||
888 `88b 888 888 888 888 888 `"Y88b.
|
||||
888 .88P 888 888 888 `88bod8P' o. )88b
|
||||
o888bood8P' o888o `Y8bod8P' `8oooooo. 8""888P'
|
||||
d" YD
|
||||
"Y88888P'
|
||||
|
||||
|
||||
None
|
||||
#+end_example
|
||||
|
||||
|
||||
** File Read Write functions
|
||||
*** Write in the place with a given #+name tag
|
||||
#+begin_src python
|
||||
def write_output_to_org_file(file_path, name, output):
|
||||
with open(file_path, 'r') as file:
|
||||
data = file.readlines()
|
||||
|
||||
with open(file_path, 'w') as file:
|
||||
for line in data:
|
||||
if '#+name: ' in line and name in line:
|
||||
file.write(line)
|
||||
file.write(output)
|
||||
else:
|
||||
file.write(line)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: None
|
||||
|
||||
*** Read txt files
|
||||
#+begin_src python
|
||||
def read_file(file_path):
|
||||
try:
|
||||
with open(file_path, 'r') as file:
|
||||
file_contents = file.read()
|
||||
return file_contents
|
||||
except FileNotFoundError:
|
||||
return "Not found"
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: None
|
||||
|
||||
|
||||
* Administrative-scripts
|
||||
:PROPERTIES:
|
||||
:EXPORT_EXCLUDE_TAGS: noexport
|
||||
:END:
|
||||
** Blogs
|
||||
*** Main Blog list
|
||||
**** Generate Main blog list for [[file:blogs/blog-list.org]]
|
||||
The following script looks at all org files(except [[blogs/Blog-list.org][blog-list.org]]) in the [[file:blogs]] directory and finds there title, creation date, and last modified date and then displays it in the file in the form of a org table then this table is exported to [[Blogs/blog-table-complete.org]] which ultimately included in [[Blog/Blog-list.org]].
|
||||
This could also have been done using the :results_switches parameter but then the result text would have to be in python(ie the same language as the generating block) so instead I used the elisp block [[file:::blog-list-table-result-writer]].
|
||||
# begin_src python :results output raw :exports results
|
||||
#+name: blog-table-generator
|
||||
#+begin_src python :results output raw :exports none
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
# path of the blog directory
|
||||
blogs_directory = "./blogs/"
|
||||
|
||||
|
||||
# get a list of all things in blogs_directory
|
||||
blog_list = os.listdir(blogs_directory)
|
||||
max_lines_to_scan = 10
|
||||
|
||||
#Only include files which are .org and do no include the main Blog-list.org file which serves as an index
|
||||
b = []
|
||||
for i in range(0,len(blog_list)):
|
||||
if blog_list[i].endswith(".org") and blog_list[i] != 'blog-list.org':
|
||||
b.append(blog_list[i])
|
||||
blog_list=b
|
||||
|
||||
#Sort blog files by last modified time
|
||||
# blog_list.sort(key=lambda x: os.path.getmtime(blogs_directory+x),reverse=True)
|
||||
|
||||
#prints the heading of the list.
|
||||
print("|-")
|
||||
print("|Title|Last Modified|Created|")
|
||||
|
||||
titles = []
|
||||
title_found = False
|
||||
creation_dates = []
|
||||
creation_found = False
|
||||
last_modified_found = False
|
||||
last_modified_dates = []
|
||||
# finds the title, last modified time and creation time
|
||||
for blog_no in range(0,len(blog_list)):
|
||||
with open(blogs_directory +'/'+ blog_list[blog_no], "r") as file:
|
||||
creation_found = False
|
||||
last_modified_found = False
|
||||
title_found = False
|
||||
for line_no in range(max_lines_to_scan):
|
||||
try:
|
||||
line = str(next(file))
|
||||
except Exception as e:
|
||||
break
|
||||
if (line.lower()).startswith('#+title') and title_found == False:
|
||||
titles.append((line.split(':',1)[1]).strip())
|
||||
title_found = True
|
||||
elif (line.lower()).startswith('#+created') and creation_found == False:
|
||||
creation_dates.append((line.split(':',1)[1]).strip())
|
||||
creation_found = True
|
||||
elif (line.lower()).startswith('#+last_modified') and last_modified_found == False:
|
||||
last_modified_dates.append((line.split(':',1)[1]).strip())
|
||||
last_modified_found = True
|
||||
if title_found == True and last_modified_found == True and creation_found == True:
|
||||
break
|
||||
if last_modified_found == False:
|
||||
last_modified_dates.append('unknown')
|
||||
if creation_found == False:
|
||||
creation_dates.append('unknown')
|
||||
if title_found == False:
|
||||
titles.append('unknown')
|
||||
print("|-")
|
||||
|
||||
def sort_multiple_lists(*args):
|
||||
"""This function sorts multiple lists according to the sorting of the first list and returns the sorted lists as a tuple"""
|
||||
|
||||
#Extract the firstlist from the argumnts and find its length
|
||||
first_list = args[0]
|
||||
list_length = len(first_list)
|
||||
|
||||
# Group all corresponding elements into a list of tuples
|
||||
tuples_list = list(zip(*args))
|
||||
|
||||
# Sort the tuples according to there first elements
|
||||
sorted_tuples_list = sorted(tuples_list,key = lambda x: first_list.index(x[0]),reverse = False)
|
||||
|
||||
# Extract the sorted lists and return them
|
||||
return(list(zip(*sorted_tuples_list)))
|
||||
|
||||
# print((creation_dates,last_modified_dates,blog_list))
|
||||
|
||||
# Sort all lists according to creation_date
|
||||
sorted_creation_dates,sorted_titles,sorted_last_modified_dates,sorted_blog_list = sort_multiple_lists(creation_dates,titles,last_modified_dates,blog_list)
|
||||
|
||||
# print((creation_dates,last_modified_dates,blog_list))
|
||||
# creation_dates,blog_list= zip(*sorted(zip(creation_dates,blog_list),reverse = True))
|
||||
|
||||
#prints the rest of the list
|
||||
for blog_no in range(0,len(blog_list)):
|
||||
print( "|"+ '[[file:'+ sorted_blog_list[blog_no]+ ']' + '['+sorted_titles[blog_no] + ']]'+ '|' +sorted_last_modified_dates[blog_no] + '|' + sorted_creation_dates[blog_no] + '|')
|
||||
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: blog-table-generator
|
||||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
||||
|
||||
**** Write the main blog list in [[file:blogs/blog-table-complete.txt]]
|
||||
The snippet below writes the table above to a text file [[file:blogs/blog-table-complete.txt]]
|
||||
#+name: blog-list-table-result-writer
|
||||
#+begin_src emacs-lisp :results silent
|
||||
(save-excursion
|
||||
(org-babel-goto-named-result "blog-table-generator")
|
||||
(forward-line)
|
||||
(write-region (point) (org-babel-result-end) "blogs/blog-table-complete.txt")
|
||||
)
|
||||
#+end_src
|
||||
|
||||
**** Read and write the main blog list into [[file:blogs/blog-list.org]]
|
||||
#+begin_src python :results silent
|
||||
def write_output_to_org_file(file_path, name, output):
|
||||
erase_until_newline_after_name(file_path)
|
||||
with open(file_path, 'r') as file:
|
||||
data = file.readlines()
|
||||
|
||||
with open(file_path, 'w') as file:
|
||||
for line in data:
|
||||
if '#+name: ' in line and name in line:
|
||||
file.write(line)
|
||||
file.write(output)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def erase_until_newline_after_name(filename):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
|
||||
with open(filename, 'w') as file:
|
||||
erase = False
|
||||
for line in lines:
|
||||
if "#+name" in line:
|
||||
erase = True
|
||||
file.write(line)
|
||||
if erase:
|
||||
if line == '\n':
|
||||
erase = False
|
||||
file.write(line)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def read_file(file_path):
|
||||
try:
|
||||
with open(file_path, 'r') as file:
|
||||
file_contents = file.read()
|
||||
return file_contents
|
||||
except FileNotFoundError:
|
||||
return "Not found"
|
||||
|
||||
write_output_to_org_file( "blogs/blog-list.org", "blog-table-complete.txt", read_file('blogs/blog-table-complete.txt'))
|
||||
|
||||
#+end_src
|
||||
|
||||
*** Latest Blogs
|
||||
**** Generating a list of 10 latest blogs
|
||||
This snippet just extracts the first 10 lines from file:blogs/blog-table-complete.txt
|
||||
#+name: latest-10-blog-table-generator
|
||||
#+begin_src python :results output raw :exports none
|
||||
def extract_first_n_lines(file_path, n: int):
|
||||
"""Helper function to extract n lines from a text file"""
|
||||
lines =[]
|
||||
with open(file_path,'r') as file:
|
||||
for _ in range(n):
|
||||
line = file.readline().rstrip('\n')
|
||||
if not line:
|
||||
break
|
||||
lines.append(line)
|
||||
return lines
|
||||
|
||||
def prepend_path_to_links(string,path):
|
||||
"""This is a helper function which fixes the relative file paths in a string"""
|
||||
import re
|
||||
|
||||
# pattern to match file links
|
||||
pattern = r'\[\[.*?\]'
|
||||
|
||||
# find all links
|
||||
org_links = re.findall(pattern,string)
|
||||
|
||||
for org_link in org_links:
|
||||
# Extract the path from the org link
|
||||
path_retgx = r'\[\[(.*?)\]'
|
||||
path_match = re.search(path_retgx,org_link)
|
||||
if path_match:
|
||||
current_path = path_match.group(1)
|
||||
|
||||
# Prepend the provided path to the current path
|
||||
new_path = '{}{}'.format(path,current_path)
|
||||
|
||||
# Repalace the old path with the new path in the org link
|
||||
updated_org_link = org_link.replace(current_path,new_path)
|
||||
|
||||
#Return the replaced string
|
||||
return(string.replace(org_link,updated_org_link))
|
||||
|
||||
|
||||
list_of_output_lines=extract_first_n_lines("blogs/blog-table-complete.txt",13)
|
||||
|
||||
for line in list_of_output_lines:
|
||||
line = line.replace('file:','')
|
||||
modified_line = prepend_path_to_links(line,"file:./blogs/")
|
||||
if modified_line == None:
|
||||
print(line)
|
||||
else:
|
||||
print(modified_line)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: latest-10-blog-table-generator
|
||||
|-
|
||||
|Title|Last Modified|Created|
|
||||
|-
|
||||
|[[file:./blogs/test_blog_3.org][Test Blog]]||[2024-02-05 Thu]|
|
||||
|
||||
**** Write the latest 10 blogs in a txt file
|
||||
Write the above result to [[file:blog-table-latest-10.txt]]
|
||||
#+name: latest-10-blog-table-result-writer
|
||||
#+begin_src emacs-lisp :results silent
|
||||
(save-excursion
|
||||
(org-babel-goto-named-result "latest-10-blog-table-generator")
|
||||
(forward-line)
|
||||
(write-region (point) (org-babel-result-end) "blog-table-latest-10.txt")
|
||||
)
|
||||
#+end_src
|
||||
|
||||
**** Read and write the latest 10 blogs table in [[file:index.org]]
|
||||
#+begin_src python :results silent
|
||||
def write_output_to_org_file(file_path, name, output):
|
||||
erase_until_newline_after_name(file_path,name)
|
||||
with open(file_path, 'r') as file:
|
||||
data = file.readlines()
|
||||
|
||||
with open(file_path, 'w') as file:
|
||||
for line in data:
|
||||
if '#+name: ' in line and name in line:
|
||||
file.write(line)
|
||||
file.write(output)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def erase_until_newline_after_name(filename,name):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
|
||||
with open(filename, 'w') as file:
|
||||
erase = False
|
||||
for line in lines:
|
||||
if "#+name" in line and name in line:
|
||||
erase = True
|
||||
file.write(line)
|
||||
if erase:
|
||||
if line == '\n':
|
||||
erase = False
|
||||
file.write(line)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def read_file(file_path):
|
||||
try:
|
||||
with open(file_path, 'r') as file:
|
||||
file_contents = file.read()
|
||||
return file_contents
|
||||
except FileNotFoundError:
|
||||
return "Not found"
|
||||
|
||||
write_output_to_org_file( "index.org", "blog-table-latest-10.txt", read_file('blog-table-latest-10.txt'))
|
||||
|
||||
#+end_src
|
||||
|
||||
** The Links table
|
||||
|
||||
#+name: link-list
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
# Git | Archive | Series | Art | Links | Support |
|
||||
|
||||
|
||||
*** Write link-list to [[file:link-list.txt]]
|
||||
|
||||
#+begin_src python :results silent
|
||||
def read_until_newline_after_name(filename,name):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
content = ""
|
||||
in_name = False
|
||||
for line in lines:
|
||||
if "#+name" in line and name in line:
|
||||
in_name = True
|
||||
continue
|
||||
|
||||
if in_name:
|
||||
if line == '\n':
|
||||
in_name = False
|
||||
else:
|
||||
content += line
|
||||
|
||||
return(content)
|
||||
|
||||
def write_to_file(file_path, content):
|
||||
with open(file_path, 'w') as file:
|
||||
file.write(content)
|
||||
|
||||
write_to_file('link-list.txt',read_until_newline_after_name('main.org','link-list'))
|
||||
#+end_src
|
||||
|
||||
*** Read and write the link table in all files in the root directory except [[file:main.org]]
|
||||
#+begin_src python :results silent
|
||||
import os
|
||||
|
||||
def write_output_to_org_file(file_path, name, output):
|
||||
erase_until_newline_after_name(file_path,name)
|
||||
with open(file_path, 'r') as file:
|
||||
data = file.readlines()
|
||||
|
||||
with open(file_path, 'w') as file:
|
||||
for line in data:
|
||||
if '#+name: ' in line and name in line:
|
||||
file.write(line)
|
||||
file.write(output)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def erase_until_newline_after_name(filename,name):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
|
||||
with open(filename, 'w') as file:
|
||||
erase = False
|
||||
for line in lines:
|
||||
if "#+name" in line and name in line:
|
||||
erase = True
|
||||
file.write(line)
|
||||
if erase:
|
||||
if line == '\n':
|
||||
erase = False
|
||||
file.write(line)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def read_file(file_path):
|
||||
try:
|
||||
with open(file_path, 'r') as file:
|
||||
file_contents = file.read()
|
||||
return file_contents
|
||||
except FileNotFoundError:
|
||||
return "Not found"
|
||||
|
||||
directory = './'
|
||||
for filename in os.listdir(directory):
|
||||
if filename.endswith('.org') and filename != 'main.org':
|
||||
file_path = os.path.join(directory, filename)
|
||||
# Process the org file here
|
||||
write_output_to_org_file( file_path,"link-list.txt", read_file('link-list.txt'))
|
||||
#+end_src
|
||||
|
||||
|
||||
** Onion and I2P addresses
|
||||
#+name: i2p-b32-address
|
||||
http://dbtjoqs5jnsyq6m6r35a47jix2v4zeloz5fpxi6htwihpnv3fcxq.b32.i2p
|
||||
|
||||
|
||||
#+name: tor-onionv3-address
|
||||
http://acfc2abqv65bdiwimrx74vrlxy6eel66cjlmgqqvdekcrx7ufl3c2cad.onion
|
||||
|
||||
|
||||
*** Write to txt files
|
||||
#+begin_src python :results silent
|
||||
def read_until_newline_after_name(filename,name):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
content = ""
|
||||
in_name = False
|
||||
for line in lines:
|
||||
if "#+name" in line and name in line:
|
||||
in_name = True
|
||||
continue
|
||||
|
||||
if in_name:
|
||||
if line == '\n':
|
||||
in_name = False
|
||||
else:
|
||||
content += line
|
||||
|
||||
return(content)
|
||||
|
||||
def write_to_file(file_path, content):
|
||||
with open(file_path, 'w') as file:
|
||||
file.write(content)
|
||||
|
||||
write_to_file('i2p-b32-address.txt',read_until_newline_after_name('main.org','i2p-b32-address'))
|
||||
write_to_file('tor-onionv3-address.txt',read_until_newline_after_name('main.org','tor-onionv3-address'))
|
||||
#+end_src
|
||||
|
||||
*** Read and write addresses to all files
|
||||
#+begin_src python :results silent
|
||||
import os
|
||||
|
||||
def write_output_to_org_file(file_path, name, output):
|
||||
erase_until_newline_after_name(file_path,name)
|
||||
with open(file_path, 'r') as file:
|
||||
data = file.readlines()
|
||||
|
||||
with open(file_path, 'w') as file:
|
||||
for line in data:
|
||||
if '#+name: ' in line and name in line:
|
||||
file.write(line)
|
||||
file.write(output)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def erase_until_newline_after_name(filename,name):
|
||||
with open(filename, 'r') as file:
|
||||
lines = file.readlines()
|
||||
|
||||
with open(filename, 'w') as file:
|
||||
erase = False
|
||||
for line in lines:
|
||||
if "#+name" in line and name in line:
|
||||
erase = True
|
||||
file.write(line)
|
||||
if erase:
|
||||
if line == '\n':
|
||||
erase = False
|
||||
file.write(line)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
def read_file(file_path):
|
||||
try:
|
||||
with open(file_path, 'r') as file:
|
||||
file_contents = file.read()
|
||||
return file_contents
|
||||
except FileNotFoundError:
|
||||
return "Not found"
|
||||
|
||||
directory = './'
|
||||
for root,dir,filename in os.walk(directory):
|
||||
for file in filename:
|
||||
if file.endswith('.org') and file != 'main.org':
|
||||
file_path = os.path.join(root, file)
|
||||
# Process the org file here
|
||||
write_output_to_org_file( file_path,"i2p-b32-address.txt", read_file('i2p-b32-address.txt'))
|
||||
write_output_to_org_file( file_path,"tor-onionv3-address.txt", read_file('tor-onionv3-address.txt'))
|
||||
#+end_src
|
||||
|
||||
|
||||
|
||||
* TODO Things to do
|
||||
** TODO Setup Gitea to host the source code (org files) of the website
|
58
main.setup
Normal file
58
main.setup
Normal file
|
@ -0,0 +1,58 @@
|
|||
# -*- mode: org; -*-
|
||||
|
||||
# These are the options for a main page
|
||||
# The Title is expected to be provided individually at the head of each file for pages with main type
|
||||
#+startup: overview
|
||||
|
||||
* Org defualts
|
||||
#+OPTIONS: num:nil ^:{} title:nil toc:nil
|
||||
|
||||
* HTML
|
||||
The following are the html customiation options
|
||||
|
||||
** Setting the background color to black and Margins
|
||||
#+HTML_HEAD:<style> body { background-color: #000000; color: #eeeeee; } </style>
|
||||
#+HTML_HEAD:<style> pre { background-color: #000000;color: #ffd700;border: 5px double #569b9e ;padding 5px} </style>
|
||||
|
||||
** Seting up tags
|
||||
*** p
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: p {
|
||||
#+HTML_HEAD: margin-top: 20px;
|
||||
#+HTML_HEAD: margin-bottom: 20px;
|
||||
#+HTML_HEAD: margin-left: 30px;
|
||||
#+HTML_HEAD: margin-right: 30px;
|
||||
#+HTML_HEAD: text-align: center;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD:</style>
|
||||
*** h2
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: h2 {
|
||||
#+HTML_HEAD: margin-top: 100px;
|
||||
#+HTML_HEAD: margin-bottom: 20px;
|
||||
#+HTML_HEAD: margin-left: 10px;
|
||||
#+HTML_HEAD: margin-right: 10px;
|
||||
#+HTML_HEAD: font-size: 35px;
|
||||
#+HTML_HEAD: color: #a3373c;
|
||||
#+HTML_HEAD: text-align: center;
|
||||
#+HTML_HEAD: padding 5px;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD:</style>
|
||||
|
||||
*** Setting up the h3 heading
|
||||
#+HTML_HEAD:<style>
|
||||
#+HTML_HEAD: h3 {font-size: 30px;
|
||||
#+HTML_HEAD: color: #3778a3;
|
||||
#+HTML_HEAD: text-align: center;
|
||||
#+HTML_HEAD: }
|
||||
#+HTML_HEAD: </style>
|
||||
|
||||
*** table of contents
|
||||
#+HTML_HEAD:<style> #table-of-contents { background-color: #10100c; color: #eeeeee;max-width: 30em; } </style>
|
||||
|
||||
** Alligning center blocks to the center
|
||||
#+HTML_HEAD:<style> .org-center {text-align: center;} </style>
|
||||
|
||||
** Setting up tables to always be in the center
|
||||
#+HTML_HEAD:<style> table { margin-left: auto; margin-right:auto; } </style>
|
||||
|
39
news.org
Normal file
39
news.org
Normal file
|
@ -0,0 +1,39 @@
|
|||
#+title: News
|
||||
#+created: [2024-03-01 Fri]
|
||||
#+last_modified: [2024-03-06 Wed]
|
||||
#+setupfile: main.setup
|
||||
|
||||
#+begin_center
|
||||
: +--------------------------------------+
|
||||
: | _ _ |
|
||||
: | | \ | | ___ __ __ ___ |
|
||||
: | | \| | / _ \ \ \ /\ / / / __| |
|
||||
: | | |\ | | __/ \ V V / \__ \ |
|
||||
: | |_| \_| \___| \_/\_/ |___/ |
|
||||
: +--------------------------------------+
|
||||
#+end_center
|
||||
|
||||
#+name: link-list.txt
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
| [[file:index.org][Home]] | [[file:blogs/blog-list.org][Blog]] | [[file:about.org][About]] | [[file:FAQ.org][FAQ]] | [[file:news.org][News]] | [[file:contact.org][PGP]] | [[file:links.org][Links]] |
|
||||
|------+------+-------+-----+------+-----+-------|
|
||||
|
||||
* TOR and I2P - [2024-03-06 Wed]
|
||||
Went live on I2P
|
||||
#+name: i2p-b32-address.txt
|
||||
http://dbtjoqs5jnsyq6m6r35a47jix2v4zeloz5fpxi6htwihpnv3fcxq.b32.i2p
|
||||
|
||||
|
||||
Went live on TOR
|
||||
#+name: tor-onionv3-address.txt
|
||||
http://acfc2abqv65bdiwimrx74vrlxy6eel66cjlmgqqvdekcrx7ufl3c2cad.onion
|
||||
|
||||
|
||||
* First Light - [2024-03-02 Sat]
|
||||
Website went live
|
||||
|
||||
Got our first SSL Certificates
|
||||
|
||||
|
||||
* Big Bang !! - [2024-03-01 Fri]
|
||||
The site was created from scratch.
|
1
tor-onionv3-address.txt
Normal file
1
tor-onionv3-address.txt
Normal file
|
@ -0,0 +1 @@
|
|||
http://acfc2abqv65bdiwimrx74vrlxy6eel66cjlmgqqvdekcrx7ufl3c2cad.onion
|
Loading…
Add table
Reference in a new issue