mirror of
https://github.com/myles/awesome-static-generators.git
synced 2025-08-05 21:58:06 +02:00
👷 Testing the README.md before deploy.
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
node_modules/
|
||||||
|
|
8
.remarkrc
Normal file
8
.remarkrc
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
"lint",
|
||||||
|
"lint-alphabetize-lists",
|
||||||
|
"validate-links",
|
||||||
|
"remark-lint-are-links-valid-duplicate"
|
||||||
|
]
|
||||||
|
}
|
9
.travis.yml
Normal file
9
.travis.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
language: node_js
|
||||||
|
|
||||||
|
node_js:
|
||||||
|
- 'node'
|
||||||
|
|
||||||
|
brefore_script:
|
||||||
|
- npm install -g remark-cli
|
||||||
|
|
||||||
|
script: npm test
|
@@ -4,11 +4,11 @@ Your contributions are always welcome!
|
|||||||
|
|
||||||
## Guidelines
|
## Guidelines
|
||||||
|
|
||||||
* Add section if needed.
|
* Add section if needed.
|
||||||
* Add section title to Table of contents.
|
* Add section title to Table of contents.
|
||||||
* Search previous suggestions before making a new one, as yours may be a duplicate.
|
* Search previous suggestions before making a new one, as yours may be a duplicate.
|
||||||
* Add your links: ```* [project-name](http://example.com/) - A short description ends with a dot. - `#ProgrammingLanguage` `#Framework` ```
|
* Add your links: ```* [project-name](http://example.com/) - A short description ends with a dot. - `#ProgrammingLanguage` `#Framework` ```
|
||||||
* Don't mention the section title in the description as it's implied.
|
* Don't mention the section title in the description as it's implied.
|
||||||
* Check your spelling and grammar.
|
* Check your spelling and grammar.
|
||||||
* Make sure your text editor is set to remove trailing whitespace.
|
* Make sure your text editor is set to remove trailing whitespace.
|
||||||
* Send a Pull Request.
|
* Send a Pull Request.
|
||||||
|
18
README.md
18
README.md
@@ -1,21 +1,20 @@
|
|||||||
# Awesome Static Web Site Generators [](https://github.com/sindresorhus/awesome)
|
# Awesome Static Web Site Generators
|
||||||
|
|
||||||
|
[](https://github.com/sindresorhus/awesome) [](https://github.com/myles/awesome-static-generators/commits/master/README.md.atom)
|
||||||
|
|
||||||
A static web site generator is an application that takes plain text files and compiles them to HTML files.
|
A static web site generator is an application that takes plain text files and compiles them to HTML files.
|
||||||
|
|
||||||
[](https://github.com/myles/awesome-static-generators/commits/master/README.md.atom)
|
|
||||||
|
|
||||||
- [Awesome Static Web Site Generators](#awesome-static-web-site-generators)
|
- [Awesome Static Web Site Generators](#awesome-static-web-site-generators)
|
||||||
- [Blogs](#blogs)
|
- [Blogs](#blogs)
|
||||||
- [CMS](#cms)
|
- [CMS](#cms)
|
||||||
- [Documentation](#documentation)
|
- [Documentation](#documentation)
|
||||||
- [Frameworks](#frameworks)
|
- [Frameworks](#frameworks)
|
||||||
- [Photography](#photograpy)
|
- [Photography](#photography)
|
||||||
- [Single Page](#single-page)
|
- [Single Page](#single-page)
|
||||||
- [Wikis](#wikis)
|
- [Wikis](#wikis)
|
||||||
- [Helpful Tools and Services](#helpful-tools-and-services)
|
- [Helpful Tools and Services](#helpful-tools-and-services)
|
||||||
- [Deploy](#deploy)
|
|
||||||
- [Web Hosts](#web-hosts)
|
- [Web Hosts](#web-hosts)
|
||||||
- [Other Lists of Static Web Site Geneartors](#other-lists-of-static-web-site-generators)
|
- [Other Lists of Static Web Site Geneartors](#other-lists-of-static-web-site-geneartors)
|
||||||
- [Related Awesome](#related-awesome)
|
- [Related Awesome](#related-awesome)
|
||||||
- [Static Web Site Generators in Other Awesome Lists](#static-web-site-generators-in-other-awesome-lists)
|
- [Static Web Site Generators in Other Awesome Lists](#static-web-site-generators-in-other-awesome-lists)
|
||||||
|
|
||||||
@@ -49,7 +48,6 @@ A static web site generator is an application that takes plain text files and co
|
|||||||
### Frameworks
|
### Frameworks
|
||||||
|
|
||||||
* [Assemble](http://assemble.io/) - `#JavaScript` `#Node.js`
|
* [Assemble](http://assemble.io/) - `#JavaScript` `#Node.js`
|
||||||
* [Cactus](http://cactusformac.com/) - `#MacOSX`
|
|
||||||
* [Cactus](https://github.com/koenbok/Cactus) - `#Python`
|
* [Cactus](https://github.com/koenbok/Cactus) - `#Python`
|
||||||
* [coil](https://github.com/badosu/coil) - `#elixir`
|
* [coil](https://github.com/badosu/coil) - `#elixir`
|
||||||
* [Complexity](http://complexity.readthedocs.org/en/latest/) - for those who like to work in HTML - `#Python`
|
* [Complexity](http://complexity.readthedocs.org/en/latest/) - for those who like to work in HTML - `#Python`
|
||||||
@@ -63,7 +61,7 @@ A static web site generator is an application that takes plain text files and co
|
|||||||
* [Hugo](https://github.com/spf13/hugo) - It is optimized for speed, easy use and configurability. - `#Go`
|
* [Hugo](https://github.com/spf13/hugo) - It is optimized for speed, easy use and configurability. - `#Go`
|
||||||
* [JBake](https://github.com/jbake-org/jbake) `#Java`
|
* [JBake](https://github.com/jbake-org/jbake) `#Java`
|
||||||
* [LambdaPad](https://github.com/gar1t/lambdapad) - `#Erlang`
|
* [LambdaPad](https://github.com/gar1t/lambdapad) - `#Erlang`
|
||||||
* [m4-bakery](http://datagrok.github.io/m4-bakery/) - `#make` `#m4`
|
* [m4-bakery](https://github.com/datagrok/makebakery) - `#make` `#m4`
|
||||||
* [Metalsmith](https://github.com/segmentio/metalsmith) - An extremely simple, pluggable static site generator. - `#JavaScript` `#Node.js`
|
* [Metalsmith](https://github.com/segmentio/metalsmith) - An extremely simple, pluggable static site generator. - `#JavaScript` `#Node.js`
|
||||||
* [MiddleMan](https://github.com/middleman/middleman) - Middleman is a static site generator using all the shortcuts and tools in modern web development. - `#Ruby`
|
* [MiddleMan](https://github.com/middleman/middleman) - Middleman is a static site generator using all the shortcuts and tools in modern web development. - `#Ruby`
|
||||||
* [nanoc](https://github.com/nanoc/nanoc) - Felxiable support for small personal to large corporate web sites. - `#Ruby`
|
* [nanoc](https://github.com/nanoc/nanoc) - Felxiable support for small personal to large corporate web sites. - `#Ruby`
|
||||||
@@ -101,10 +99,6 @@ A static web site generator is an application that takes plain text files and co
|
|||||||
* [Formspree](http://www.formspree.io/) - Adds functional forms to your static web sites.
|
* [Formspree](http://www.formspree.io/) - Adds functional forms to your static web sites.
|
||||||
* [git-annex](http://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/) - Configure git-annex for a public repository for a static web site.
|
* [git-annex](http://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/) - Configure git-annex for a public repository for a static web site.
|
||||||
|
|
||||||
### Deploy
|
|
||||||
|
|
||||||
* [Harpoon](http://www.getharpoon.com/) - S3 based deploy with rollback and staging/production support. - `#Ruby`
|
|
||||||
|
|
||||||
### Web Hosts
|
### Web Hosts
|
||||||
|
|
||||||
* [AWS S3](http://aws.amazon.com/s3/)
|
* [AWS S3](http://aws.amazon.com/s3/)
|
||||||
|
3615
package-lock.json
generated
Normal file
3615
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
14
package.json
Normal file
14
package.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"remark-cli": "^4.0.0",
|
||||||
|
"remark-lint": "^6.0.1",
|
||||||
|
"remark-lint-alphabetize-lists": "^2.0.0",
|
||||||
|
"remark-lint-are-links-valid": "^1.0.3",
|
||||||
|
"remark-lint-are-links-valid-alive": "^0.3.0",
|
||||||
|
"remark-lint-are-links-valid-duplicate": "^0.2.2",
|
||||||
|
"remark-validate-links": "^7.0.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "remark -u validate-links README.md"
|
||||||
|
}
|
||||||
|
}
|
53
sort.py
53
sort.py
@@ -1,53 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
FROM: <https://github.com/vinta/awesome-python/blob/master/sort.py>
|
|
||||||
|
|
||||||
The approach taken is explained below. I decided to do it simply.
|
|
||||||
Initially I was considering parsing the data into some sort of
|
|
||||||
structure and then generating an appropriate README. I am still
|
|
||||||
considering doing it - but for now this should work. The only issue
|
|
||||||
I see is that it only sorts the entries at the lowest level, and that
|
|
||||||
the order of the top-level contents do not match the order of the actual
|
|
||||||
entries.
|
|
||||||
|
|
||||||
This could be extended by having nested blocks, sorting them recursively
|
|
||||||
and flattening the end structure into a list of lines. Revision 2 maybe ^.^.
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
# First, we load the current README into memory as an array of lines
|
|
||||||
with open('README.md', 'r') as read_me_file:
|
|
||||||
read_me = read_me_file.readlines()
|
|
||||||
|
|
||||||
# Then we cluster the lines together as blocks
|
|
||||||
# Each block represents a collection of lines that should be sorted
|
|
||||||
# This was done by assuming only links ([...](...)) are meant to be sorted
|
|
||||||
# Clustering is done by indentation
|
|
||||||
blocks = []
|
|
||||||
last_indent = None
|
|
||||||
for line in read_me:
|
|
||||||
s_line = line.lstrip()
|
|
||||||
indent = len(line) - len(s_line)
|
|
||||||
|
|
||||||
if any([s_line.startswith(s) for s in ['* [', '- [']]):
|
|
||||||
if indent == last_indent:
|
|
||||||
blocks[-1].append(line)
|
|
||||||
else:
|
|
||||||
blocks.append([line])
|
|
||||||
last_indent = indent
|
|
||||||
else:
|
|
||||||
blocks.append([line])
|
|
||||||
last_indent = None
|
|
||||||
|
|
||||||
with open('README.md', 'w+') as sorted_file:
|
|
||||||
# Then all of the blocks are sorted individually
|
|
||||||
blocks = [''.join(sorted(block, key=lambda s: s.lower()))
|
|
||||||
for block in blocks]
|
|
||||||
# And the result is written back to README.md
|
|
||||||
sorted_file.write(''.join(blocks))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
Reference in New Issue
Block a user