Skip to content

Commit d4a8dd1

Browse files
committed
Initial commit
0 parents  commit d4a8dd1

File tree

2,061 files changed

+61202
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,061 files changed

+61202
-0
lines changed

Diff for: .gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# html files
2+
public
3+
4+
# Hugo lock
5+
.hugo_build.lock
6+
7+
# Podcasts (local testing)
8+
/themes/pinetheme/static/podcast

Diff for: README.md

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Welcome to the PINE64.org community website
2+
3+
4+
5+
6+
## Building the website
7+
8+
Install `git` and check out the website repository using the following command:
9+
10+
```sh
11+
git clone https://github.com/pine64/website/
12+
cd website
13+
```
14+
15+
### Get Hugo
16+
17+
Install *Hugo* as explained under https://gohugo.io/installation/.
18+
19+
Arch Linux: `sudo pacman -S hugo`
20+
21+
Debian: `sudo apt install hugo`
22+
23+
Fedora: `sudo dnf install hugo`
24+
25+
Gentoo: `sudo emerge --ask www-apps/hugo` (SASS/SCSS support not required)
26+
27+
### Preview the website
28+
29+
The website can be previewed with Hugo using an in-built webserver for development purposes. Hugo will also watch for file changes and automatically rebuild the site and reload the page in your browser. To preview the website, run:
30+
31+
```bash
32+
hugo server
33+
```
34+
35+
Then point your browser to [http://localhost:1313/]()
36+
37+
![Hugo usage](./content/blog/images/rebrand_hugo_usage.svg)
38+
39+
40+
For further details see [https://gohugo.io/commands/hugo_server/]().
41+
42+
43+
### Generate the html pages (optional)
44+
45+
The html pages can be generated to the *public* folder using:
46+
47+
```bash
48+
hugo
49+
```
50+
51+
52+
## Site structure
53+
54+
```
55+
website/
56+
├── archetypes/
57+
│ └── default.md
58+
├── assets/
59+
├── config/_default/
60+
│ └── config.toml [site configuration]
61+
├── content/
62+
│ │── blog/
63+
│ │── community/
64+
│ │── contests/
65+
│ │── documentation/
66+
│ └── podcast/
67+
├── data/
68+
├── layouts/
69+
├── public/ [contains the html files generated with "hugo"]
70+
├── static/
71+
└── themes/pinetheme/
72+
│── archetypes/
73+
| └── default.md
74+
│── layouts/
75+
│── static/
76+
│ │── artwork [background artwork]
77+
│ │── css [css files]
78+
│ │── img [static images]
79+
│ │── js [static javascripts]
80+
│ │── podcast [podcast episodes]
81+
│ └── podlove [podcast player]
82+
└── theme.toml [theme configuration]
83+
```
84+
85+
For an explanation of the folder structure see https://gohugo.io/getting-started/directory-structure/.
86+
87+
## Contributing
88+
89+
To contribute to the website, you can edit the files as listed above. For example to make corrections at blog posts, go to the folder where the blog posts are stored:
90+
91+
`project/content/blog/`
92+
93+
Then open the markdown file (such as `april-update-no-more-unicorns.md`) and edit it. The documentation pages can be edited under `project/content/documentation/`.
94+
95+
Changes to the theme can be made in the following folder:
96+
97+
`project/themes/pinetheme/`
98+
99+
Make sure to test your changes with Hugo's in-built preview:
100+
101+
`hugo server`
102+
103+
## Need help or got questions?
104+
105+
Join the community platforms, we're happy to help!

Diff for: archetypes/default.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}"
3+
date: {{ .Date }}
4+
draft: true
5+
---
6+

Diff for: config/_default/config.toml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
baseURL = 'http://beta.pine64.org/'
2+
languageCode = 'en-us'
3+
#title = 'PINE64 | Open. Friendly. Community-Driven.'
4+
title = 'PINE64 Community'
5+
theme = "pinetheme"
6+
7+
# Blog post summary limit
8+
summaryLength = 30
9+
10+
pluralizelisttitles = "false"
11+
12+
# Required to get well formatted code blocks
13+
pygmentsUseClasses = true
14+
pygmentsCodeFences = true
15+
disablePathToLower = true
16+
17+
# Required if you want to render robots.txt template
18+
enableRobotsTXT = true
19+
20+
# Pagination for the blog posts (x posts per page)
21+
paginate = 9
22+
23+
sectionPagesMenu = "docs2"
24+
25+
[permalinks]
26+
blog = '/:year/:month/:day/:filename/'
27+
28+
29+
[cover]
30+
hidden = false # hide everywhere but not in structured data
31+
hiddenInList = false # hide on list pages and home
32+
hiddenInSingle = false # hide on single page
33+
34+
[security.exec]
35+
allow = ["^asciidoctor$"]
36+
37+
[params]
38+
# Description for the main page
39+
Description = "PINE64 is a large, vibrant and diverse community and creates software, documentation and projects."
40+
41+
# Docs menu
42+
[menu]
43+
[[menu.right]]
44+
name = "Blog"
45+
pre = ""
46+
url = "/blog/"
47+
weight = 1
48+
[[menu.right]]
49+
name = "Podcast"
50+
pre = ""
51+
url = "/podcast/"
52+
weight = 5
53+
[[menu.right]]
54+
name = "Contests"
55+
pre = ""
56+
url = "/contests/"
57+
weight = 4
58+
[[menu.right]]
59+
name = "Documentation"
60+
pre = ""
61+
url = "/documentation/"
62+
weight = 3
63+
[[menu.right]]
64+
name = "Community"
65+
pre = ""
66+
url = "/community/"
67+
weight = 2
68+
# [[menu.right]]
69+
# name = "Forums"
70+
# pre = ""
71+
# url = "https://forum.pine64.org/"
72+
# weight = 6
73+
[[menu.right]]
74+
name = "Store"
75+
pre = "Test"
76+
url = "https://www.pine64.com/"
77+
weight = 7
78+
identifier = "external"

Diff for: content/blog/_index.adoc

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "Blog posts"
3+
date:
4+
draft: false
5+
description:
6+
---

Diff for: content/blog/a-response-to-martijns-blog.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: "A response to Martijn's blog"
3+
date: "2022-08-18"
4+
categories:
5+
- "community"
6+
- "news"
7+
- "pine64-community"
8+
tags:
9+
- "community"
10+
cover:
11+
image: "cover-wider.jpeg"
12+
---
13+
14+
![](/blog/images/cover-wider.jpeg)
15+
16+
We rarely, if ever, make responses to blog posts or articles. In fact, there is only [one instance](https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/) that I can think of when we did so. So then, somewhat uncharacteristically, this is a response post to Martijn Braam’s [blog](https://blog.brixit.nl/why-i-left-pine64/) in which he explains why he left the PINE64 community. Let’s get one thing out of the way first: Martijn has done a lot for mobile Linux and PINE64 - he is a valued contributor and a colleague with a good insight into how PINE64 and the Pine Store Ltd operate. I should add that his opinions are welcome just as they have always been. Finally, there is no denying that his leaving is a significant loss to the project and, on a private level, a sad state of affairs for us in the community. If it wasn’t clear, we really like Martijn. But this isn’t what this blog post is about. Instead, this is a response to the points and concerns Martijn raises. 
17+
18+
A short summary first: Martijn’s blog entry alleges that following PinePhone community editions, and after settling on Manjaro with KDE’s plasma mobile as the default OS, PINE64 and the Pine Store Ltd have sidelined developers from other mobile Linux projects. The argument is made that this has hurt development. The example given in the blog post supposes that the community team and Pine Store employees were firmly intent on removing SPI on the PinePhone Pro and coerced not to ship Tow-Boot. He concludes by saying that we no longer listen to the development community.
19+
20+
But here is the thing, SPI has been included on the PinePhone Pro due to the input from developers and against our initial intent. The talks concerning SPI were tense, as Martijn mentions in the article, in part because we did approach them with a presumption that we’ll inform developers of our plan to drop SPI. I may add that the decision was made among ourselves, without the input of any third parties or partners. The reasoning behind not including SPI on the PCB wasn’t motivated by any single project or outside source - it was based on the fact that for years SPI was largely unused on PINE64 devices. In instances where it was used, it sometimes caused issues, which in turn led to a few support nightmares. I should also mention that SPI has skyrocketed in price at the time and became harder to source; all this, collectively, had us initially pretty firmly determined to drop SPI altogether. And yet, despite this, we agreed to include it on the PinePhone Pro because developers from multiple projects - postmarketOS being one of them - were adamant that it was an absolute necessity. 
21+
22+
We were also convinced to flash the SPI with Tow-Boot on the most recent batch of PinePhone Pro, which was the preferred bootloader of the majority of members in the private discussion group. Moreover, I should add that SPI is present on the Pinebook Pro and there is no need to solder one on. Pinebook Pro’s SPI doesn’t come with a pre-loaded bootloader, but the option to flash it is there for anyone who wishes to do so. As for the reason why Pinebook Pro doesn’t ship with a bootloader on SPI - it isn’t caused by favoritism for a particular group of developers or disregard for good ideas, but rather something more trivial. Namerly, a functional Tow-Boot build for the Pinebook Pro wasn’t available at the time of manufacture and shipping.    
23+
24+
We created a space for development talks to be held (as we always had), there was a lengthy exchange, there was a difference of opinion, we listened to all developers, and the outcome of the discussion changed our mind on the subject of SPI inclusion and Tow-Boot. And to be clear, we listened to different people. Differences of opinion and unwillingness to listen are two different things and cannot be equated.
25+
26+
All this shouldn’t exactly be a surprise to anyone who has ever interacted with us since, on a weekly basis, we talk to people affiliated with different projects (and to those not affiliated with any projects). Over the past month alone we talked with developers from a handful of major Linux projects regarding support for existing and future devices. We are also in constant contact with community contributors working on non-Linux devices - PineTime, PineBuds and the Pinecil V2 being examples of the latter. And, of course, we talk to our core partners too. This, however, has no impact on whether a good idea from a third party gets implemented or not. We always have been open to suggestions and we will keep on listening to input from the community.  
27+
28+
Now, surely there is more that we could have done in the past in the way of supporting development, and undoubtedly there is more we should do in the future. We haven’t delivered on a variety of ideas concerning supporting our development community - the DevZone being a prime example of a crucial system that still needs to be fully implemented (and it will). The DevZone will, among others, be a place where bounties will be offered to all contributors regardless of affiliation. _Mea culpa,_ an argument can be made that in this regard we haven’t done enough in the past year. At the same time, I believe that our track-record of working with the community is such that listing examples of successful ongoing cooperations and of continuous support is unnecessary. 
29+
30+
To sum up this response post; Martijn has his reasons for leaving and we should all respect those. We are also thankful for all the work he, and the entire postmarketOS has, poured into the Linux smartphone space and the PinePhone in particular. That said, we don’t want to leave the claim that we do not listen to our development community unanswered - because it is unfair and demonstrably false. We are not mindless marionettes unable to make up our own minds about what course to pursue either. As a project, PINE64 is not afraid of taking responsibility or admitting to a fault, and surely there are many mistakes that the management of the project has made in the past, but blind favoritism or unwillingness to listen to our community are not on the list.

Diff for: content/blog/a_new_design.md

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: "A new design"
3+
date: "2023-04-13"
4+
categories:
5+
- "community"
6+
- "news"
7+
- "pine64-community"
8+
tags:
9+
- "community"
10+
cover:
11+
image: "rebrand_large.png"
12+
---
13+
14+
![](/blog/images/rebrand_large.png)
15+
16+
As it was teased with the March update and the December blog post of last year, there is a community website redesign being worked on. Launched at https://beta.pine64.org/ we're proud to give a very early insight of what the redesign currently looks like.
17+
18+
To give a warning in advance, in this preview of the redesign, you will find a lot of unfinished parts, run into issues and maybe there are things you liked at the old (current) page more. That's what the beta launch is for. While the old website was run on Wordpress and maintained by a handful of people, the idea of the new community website redesign after being started as a project of a single person is, that everyone can contribute to the community website. That's why the redesign is launched early: to gather feedback, to gather ideas and to involve everyone interested in contributing so that there will be a nicely working website available later.
19+
20+
## Some technical details
21+
22+
To give an insight into some technical details:
23+
24+
The former website was running on Wordpress. While easy to use, this also means there was a lot of heavy Javascript, connections to third-party websites (like Google fonts) constantly had to be prevented by adjusting site settings and if people found typos in the blog post then admins had to be asked to fix them.
25+
26+
The redesign tries to go a different way. It uses [Hugo](https://gohugo.io/) ("The world’s fastest framework for building websites") and it creates static html pages from content formats such as Markdown, Pandoc and AsciiDoc (see [Hugo - Content Formats](https://gohugo.io/content-management/formats/) for the supported formats). In fact this blog post you are reading is written in Markdown - show and edit this blog post under [a_new_design.md](https://github.com/pine64/website/edit/content/blog/a_new_design.md).
27+
28+
![](/blog/images/rebrand_structure.png)
29+
30+
The redesign tries to avoid using Javascript as much as possible. Javascript is currently only used on the front page to click between the slider images, as well as the YouTube preview (more about this below). The slider will work just fine with disabled Javascript.
31+
32+
There are no CDNs used in the redesign. No Google Fonts, no externally hosted podcast player, no analytics, no non-sense. The author also wrote a two-click solution for YouTube embeds. This means there is no longer a YouTube iframe directly in the blog post, which connects to Google as soon as opening the blog post even without watching the video. Instead there is no connection made to Google until the user clicks on the video preview. The video preview is generated and stored locally on the server.
33+
34+
![](/blog/images/rebrand_youtube.png)
35+
36+
Try it in the blog post "[March Update: Tablet Bonanza!](/2023/04/01/march-update-tablet-bonanza/)".
37+
38+
39+
## The logo challenge
40+
41+
Together with the beta redesign, there is also the [logo challenge](/contests/the-logo-challenge/) started to get input from everyone regarding a new logo. The logo you see here is a preliminary draft to show, how the logo could look like. On top is the current logo, on the bottom is the new draft.
42+
43+
![](/blog/images/rebrand_logochallenge.png)
44+
45+
Please read the thoughts in the [logo challenge](/contests/the-logo-challenge/) and bring your best thoughts and ideas.
46+
47+
## Documentation
48+
49+
There is also a [documentation](/documentation/) tab added in the navigation menu above, as you might have noticed. The documentation pages are currently all PINE64 wiki articles parsed into AsciiDoc files. AsciiDoc is used due to the greater flexibility than Markdown but both or any of the above mentioned content formats can be used and even mixed. The documentation pages are currently in **early alpha**.
50+
51+
To not get into the boring details too much, the Mediawiki articles from https://wiki.pine64.org are basically getting parsed and written into AsciiDoc files without too many changes. Most of the current issues in the documentation pages (wrong order of articles, non-working links, missing templates, broken tables and more) can be fixed easily. The reason why they are not fixed yet is because it is hard to maintain two documentation pages at the same time, the docs and the wiki. Especially while working alone on the redesign it was decided to dynamically parse the wiki instead for now, so that the author does not have to manually apply every change made to the wiki to the docs as well.
52+
53+
To give some numbers, the custom parser alone is curently almost 500 code lines long, the rule yaml to write the documentation targets is another 500 lines and the rule yaml for separating long articles into multiple documentation pages is over 1500 lines long. So it would be very surprising if everything works flawlessly. There are currently over 250 documentation pages written. The issues in the docs will all be ironed out before a launch.
54+
55+
For the docs there are new shiny board images created and they will be used everywhere to make explaining hardware functionality easier. Here is for example the Ox64 pinout image as created as part of the docs:
56+
57+
![](/blog/images/rebrand_ox64.png)
58+
59+
As part of the new documentation, the author also made a lot of changes to many wiki pages. Updating old information, simplifying old structures, writing new articles, to bring everything information in a more up-to-date and modern state. The author wants to underline that users should not be worried, the wiki doesn't go away. In fact it is a great place for users to document their projects, bringing a strong tie between the community members, the community website and their contributions.
60+
61+
## Contributions made easy
62+
63+
Hugo also has one nice advantage. Changes to the website can be previewed easily on your computer, making it very easy for new contributors to find out how everything is working and if their changes work as intended. To give a short overview of the steps:
64+
65+
Clone the repository of the website:
66+
67+
```
68+
git clone https://github.com/pine64/website/
69+
```
70+
71+
Then change the directory into the folder:
72+
73+
```
74+
cd website
75+
```
76+
77+
And then preview the website using:
78+
79+
```
80+
hugo server
81+
```
82+
83+
It's super simple!
84+
85+
![Hugo usage](/blog/images/rebrand_hugo_usage.svg)
86+
87+
The complete process is explained in details under https://github.com/pine64/website/ and we're happy to help in the [community chat](/community/).
88+
89+
The project is structured the following:
90+
91+
```
92+
website/
93+
├── archetypes/
94+
│ └── default.md
95+
├── assets/
96+
├── config/_default/
97+
│ └── config.toml [site configuration]
98+
├── content/
99+
│ │── blog/
100+
│ │── community/
101+
│ │── contests/
102+
│ │── documentation/
103+
│ └── podcast/
104+
├── data/
105+
├── layouts/
106+
├── public/ [contains the html files]
107+
├── static/
108+
└── themes/pinetheme/
109+
│── archetypes/
110+
| └── default.md
111+
│── layouts/
112+
│── static/
113+
│ │── artwork [background artwork]
114+
│ │── css [css files]
115+
│ │── img [static images]
116+
│ │── js [static javascripts]
117+
│ │── podcast [podcast episodes]
118+
│ └── podlove [podcast player]
119+
└── theme.toml [theme configuration]
120+
```
121+
122+
For an explanation of the folder structure see https://gohugo.io/getting-started/directory-structure/.
123+
124+
125+
## Outlook
126+
127+
With the upcoming redesign of the community website and the possibility for everyone to contribute to it, the community is going the next step and it ultimately becomes one step more open.
128+
129+
The *Hugo* framework opens us up a lot of different possibilities, including multi-language pages. If community members are interested in this any many more features we're eager to see the ideas and your contributions!

0 commit comments

Comments
 (0)