GithubHelp home page GithubHelp logo

picocms / picocms.github.io Goto Github PK

View Code? Open in Web Editor NEW
29.0 7.0 38.0 50.65 MB

This is the repository of Pico's official website. Pico is a stupidly simple, blazing fast, flat file CMS.

Home Page: http://picocms.org/

HTML 88.94% CSS 2.64% JavaScript 8.42%

picocms.github.io's Introduction

Pico

This is the repository of Pico's official website. Pico is a stupidly simple, blazing fast, flat file CMS.

For information about how to edit the contents of this website, please refer to the "Contributing" section of the main repository.

Technology

Contact

Pico was made by Gilbert Pellegrom and is maintained by The Pico Community. The best way to contact us is by joining us on #picocms on Libera.Chat or by creating a new Issue on GitHub.

picocms.github.io's People

Contributors

alejandroliu avatar besrourms avatar bigicoin avatar chelmyers avatar creativebydre avatar fulldecent avatar gilbitron avatar lchski avatar mayamcdougall avatar nliautaud avatar northivanastan avatar ohnonot avatar pconrad-fb avatar phrozenbyte avatar picocms avatar psic avatar shane-zentz avatar sharuzzaman avatar siusoon avatar smcdougall avatar srgmc avatar theshka avatar type76 avatar xupefei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

picocms.github.io's Issues

Can't find documentation on resizing images

Hi :)
I didn't know whether this or the "pico" project itself are the right place to ask this. Sorry if I'm wrong here.

Searching the website documentation of Pico, I couldn't find any information about how to resize images. Is this possible and is it documented anywhere?

Thank you very much in advance.

Use GitHub's Open Source Guides to explain how to contribute

GitHub recently announced a new Open Source Guides website that is

a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to open source.

We might want to use these Open Source Guides for our docs to help people contributing to Pico. This needs to be evaluated though, I just skimmed through the contents.

https://github.com/blog/2318-announcing-open-source-guides
https://opensource.guide/

Simplify plugin and theme contribution process

See #33 (comment)

Maybe we should think about how we want to manage plugins and themes in the future. Obviously I don't have enough time to actually do a code review for plugins. The idea behind this review process was to ensure a basic level of quality and to prevent malicious plugins. However, I feel like that we can't really achieve this anyway. Developers can update their plugins at any time. Furthermore there's our Wiki with yet another list of themes and plugins. So maybe we should abolish this "review required" process and switch to a much simpler process? The question is: How? I feel like the way we present plugins and themes on picocms.org right now isn't really suitable for this, is it?

Feedback is highly appreciated! โค๏ธ

CC @mayamcdougall

Denying access to pico's internal files

About this section of nginx setup recommendations.

I find that if I set it up this way, then try to open one of the forbidden places, pico offers index.php as a download instead of going to the 404 page (the 404 page works well for other non-existing pages).

Taking the example configuration as a basis, I changed it like this:

server {
	listen 80;

	server_name www.example.com example.com;
	root /var/www/html/pico;

	index index.php;

	error_page 404 /404;
	error_page 403 =404 /404;

	location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
		return 404;
	}

	location ~ \.php$ {
		try_files $uri =404;

		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;

		# Let Pico know about available URL rewriting
		fastcgi_param PICO_URL_REWRITING 1;

		# my nginx/php-fpm combo won't work without this:
		fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
	}

	location / {
		try_files $uri $uri/ /index.php$is_args$args;
	}
}

...which gives the desired result.
It also appears safer to me, because ultimately I am giving control over these forbidden places back to nginx, and not letting pico deal with it?


I am a little unsure if this is a documentation issue or an issue with pico itself or with my setup...
If it helps, my nginx is at version 1.10.3, what is current in debian stable.
php-fpm recently upgraded from 5 to 7.
pico 2.0.4.

Update Website & Documentation

@PhrozenByte commented on 6 Feb 2016

This is a long-live issue to track and discuss wished updates of our website resp. documentation.

Please refer to picocms/Pico#323 for previous discussions.

Website

  • Add GitHub, Twitter and IRC icon to website
  • Add current version number to Download page
  • Overhaul and extend _development/ collection resp. development.md
  • Improve _cookbook/ collection resp. cookbook.html
    • Decide where to put links to it (inline user docs? website user docs? website dev docs?) and actually create the links
  • picocms/Pico#358: Use Webpaint portfolio ("Showcase") to re-implement customization.md with extended information about and screenshots of all plugins and themes
    • Use distinct data files (_data/plugins.md and _data/themes.md) to make adding plugins/themes much easier
    • See phpDoc.html and _data/phpDoc.md as a reference
  • Look through the wiki to include more plugins and themes on Pico's website
  • Decide where to put large source files, see picocms/Pico#358 (comment) and following
  • Add a sane way to add "Read more..." pages (e.g. upgrade.md or nginx.md (picocms/Pico#343))
  • picocms/Pico#309: Add a phpDoc overview page
  • picocms/Pico#345: Add extended nginx documentation
  • picocms/Pico#349 + picocms/Pico#352: Add "About Us" page
  • picocms/Pico#368: Create a "advanced asset handling" howto (allow access to certain files (matched by MIME type) in the content/ folder)
  • picocms/Pico#387: Create Docker tutorial
Decisions to make

Documentation

  • Add IRC to the "Getting Help" section
  • Add the "What information do we need" paragraph of the Issues section of our CONTRIBUTING.md to the "Getting Help" section
  • Explain how to use Pico with composer require picocms/Pico and provide a appropriate index.php
  • Pico 2.0: Update nginx rewrite rules in user docs/nginx details page
  • Add a basic YAML tutorial/guide/howto
  • Add a basic Markdown tutorial/guide/howto

Case-Sensitive path collision in phpDocs

@PhrozenByte Not a big issue, but I was wondering if you could look into this sometime.

I've been unable to update my local picocms.github.io repo from upstream because of a case-sensitive filename collision. My local filesystem is case sensitive (obviously, or I wouldn't be having the issue ๐Ÿ˜‚), and when I try to fetch upstream, I get the following warning:

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'phpDoc/pico-3.0.cache/packages/Default.html'
  'phpDoc/pico-3.0.cache/packages/default.html'
  'phpDoc/pico-3.0/packages/Default.html'
  'phpDoc/pico-3.0/packages/default.html'

I don't know anything about your phpDocs, but I don't imagine this was done intentionally. Any attempt I make to merge upstream tries to clobber these files, keeping only one or the other. It's only been a minor inconvenience so far, but to get around it, I've been keeping my personal fork out-of-date and just editing/committing the individual files I've needed to change. ๐Ÿ˜…

Absolutely no rush on this. It's just something that I've been meaning to mention for a little while.

I just wanted to bring it to your attention because it didn't really seem like it should be set up this way.

Thanks. ๐Ÿ˜

Broken High-DPI Support

Something in the theme is trying to find @2x resources when on a high DPI screen (they have @2x appended to their name).

Apparently I've never had the Inspector Console open while browsing the website with my MacBook undocked (my desk monitors are only 1080p). With the Retina screen resolution, the scripts on the site are searching for higher res versions of all the assets, which mostly don't exist.

This amounts to a large amount of script errors, depending on the page (themes, lol).

For some reason, this is also breaking the new Javascript I wrote for the Docs. I don't know enough about Javascript to know what's going on. My guess is it's just stopping execution before it gets that far or something.

Nothing on the live site seems to break from this though, it's just a lot of 404-ing and JS console errors. It could have some consequence I'm not seeing yet though.

I don't really see us supporting High-DPI assets on the current theme (since, it needs to be replaced with a Pico solution at some point anyway). My recommendation is that I should just track down the script that's trying to replace the assets and remove it for now.

(Edit: In /style/js/scripts.js, at the very start of the file is a section titled RETINA.JS which seems to be our culprit.)

Thoughts?

Changes to recommended nginx config

I was able to get nginx up and running with a mix of reading https://picocms.org/in-depth/nginx/ and the helpful discussions at picocms/Pico#343 and picocms/Pico#350.

So yeah, it sort of worked. There was a weird problem, though. I opened my browser to /vendor/ to make sure the 404 worked, and it downloaded a plain-text version of index.php to my hard drive.

I was confuse. ๐Ÿ˜‚

But, I managed to fix it! After some struggle, here's my new config. Would it be ok if I submit a PR to get this onto the "How to Configure Nginx for Pico" page?

Here's the fixed nginx config:

    ...

    # 404 on the theme's README, CHANGELOG, etc.
    location ~ ^/themes(/?$|/[^/]+(/?$|/[^/]+/?$)) {
        error_page 404 /index.php;
        return 404;
    }

    # 404 on PicoCMS README, CHANGELOG, and other forbiddens
    location ~ ^/((CHANGELOG.md|CONTRIBUTING.md|LICENSE|README.md|plugins|config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
        error_page 404 /index.php;
        return 404;
    }

    # Rewrite all other requests to go to the front controller
    location / {
        error_page 404 /index.php;
        try_files $uri $uri/ /index.php$uri =404;
    }

    # Front controller
    location ~ ^/index\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }

        try_files $fastcgi_script_name =404;

        fastcgi_param HTTP_PROXY "";
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;

        include fastcgi_params;
    }

    ...

Improve plugin and theme usage docs

Provide step-by-step instructions on how to "install" plugins and themes in Pico.

  • Either upload a single plugin file directly to the plugins/ directory or upload multiple plugin files into a to-be-created directory named exactly after the plugin
  • Upload themes to the themes/ directory
  • Explain that some plugins and themes don't just consist of the actual plugin/theme files, but rather also include themes or content files which should be uploaded to the appropriate Pico directory
  • Firmly refer to the README.md of the plugin/theme

However: Keep it short! Users don't want to read pages over pages just to learn how to install a plugin/theme... It's dead simple. This shouldn't require much text.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.