Commit long-standing changes

This commit is contained in:
Orwa Diraneyya 2025-04-23 11:42:37 +02:00
parent 1c615535fc
commit 2e6325b76d
Signed by untrusted user who does not match committer: orwa
GPG key ID: 32848D26CC4A4324
62 changed files with 8832 additions and 8823 deletions

2
.gitattributes vendored
View file

@ -1 +1 @@
.mp4 filter=lfs diff=lfs merge=lfs -text
.mp4 filter=lfs diff=lfs merge=lfs -text

4
.gitignore vendored
View file

@ -1,2 +1,2 @@
public/
.hugo_build.lock
public/
.hugo_build.lock

View file

@ -1,22 +1,22 @@
# All available Hugo versions are listed here: https://gitlab.com/pages/hugo/container_registry
image: registry.gitlab.com/pages/hugo:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
test:
allow_failure: true
script:
- hugo
except:
- master
pages:
allow_failure: true
script:
- hugo
artifacts:
paths:
- public
only:
- master
# All available Hugo versions are listed here: https://gitlab.com/pages/hugo/container_registry
image: registry.gitlab.com/pages/hugo:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
test:
allow_failure: true
script:
- hugo
except:
- master
pages:
allow_failure: true
script:
- hugo
artifacts:
paths:
- public
only:
- master

1
.tool-versions Normal file
View file

@ -0,0 +1 @@
hugo 0.92.2

2
CREDIT
View file

@ -1 +1 @@
The credit of this project idea goes to one of our CR Master's students: Kai Azzaoui. Please follow him on SoundCloud here: https://soundcloud.com/user-326328403
The credit of this project idea goes to one of our CR Master's students: Kai Azzaoui. Please follow him on SoundCloud here: https://soundcloud.com/user-326328403

40
LICENSE
View file

@ -1,21 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Spencer Lyon
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
The MIT License (MIT)
Copyright (c) 2014 Spencer Lyon
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

138
README.md
View file

@ -1,69 +1,69 @@
Each time the main branch (i.e. the `master` branch) on this repo changes, the following website changes in response to that change:
https://rwth-crmasters-wise2122.gitlab.io/deep-music-visualizer-showdown/
The process responsible of this is called DevOps and is described in the file named `.gitlab-ci.yml` at the root of this repo.
# An Example of a Website Development Process
Using a Static-Site-Generation tool named _HUGO_ and a repository made up of markdown files, images/videos and HTML templates.
Below is a diagram of what happens each time we change the repository:
![HUGO Diagram](./docs/HUGO_big_picture.plain.svg)
In any development team, you have to be on the same page with other developers in the team with regard to:
1. The _file-naming policy_: how to name the files we add to the repo in different directories
1. The _branch-naming policy_: how do we call our branches
1. The _merge-request documentation_:
- when to mark the merge request as a draft,
- how to name the merge request,
- what information to add to the merge-request body
In the session on the 1st of December, 2021 of the DSSIPD course, **we did not have clear policies.** This resulted in a lot of inconsistency which would make managing the development difficult, and hence would be unacceptable in a professional environment.
Hence, when joining a new development team, even if you are a consultant, a content creator, or a manager, it is important to ask how things are expected to be done to maximize the impact of your contributions and to minimize friction with coworkers and line managers.
## Contribution Guidelines to this Repo
In order to mitigate the problems above and to help you grow professionally, we came up with the following guidelines after the session on the 1st of December:
1. **Filenames:** all filenmes should be in small-caps, dashes in-between words, and no spaces/special characters. More specifically:
1. Filenames in `./static/videos/` (for the competition entry videos) use either your first name or your last name, depending on which one is more unique (if both are equally unique, then it is up to you to decide). If more than one video needs to be pushed, use a dash and a number before the extension (e.g. `orwa-1.mp4`, `orwa-2.mp4`)
1. Filenames in `./content/post` (for the competition entry articles) follow the format "`YYYY`-`MM`-`DD`-`first`-`last`.md" (please see the examples in that directory)
1. **Branch names:**
1. For branches adding a new competition entry: use _"competition-`first`-`last`"_ to indicate that it is a branch designating a competition entry and that it belongs to you.
1. For branches fixing an issue: use _"bugfix-issue-`number`"_ where `number` is the issue number.
1. For branches fixing a problem that had not been documented in an issue: use _"bugfix-`first`-`last`"_
1. For other types of improvements after your requirements are met: use _"feature-(`first`|`last`)-`...`"_ where the part _(`A`|`B`)_ means either `A` or `B` and the three dots `...` stand for anything you want assuming it is:
1. All in small caps
1. Uses dashes in-between the words
1. No special characters
1. **Merge request:** please mark the merge request as a draft until you are sure that it runs correctly (using the *preview_website* batch file ran locally) and that all the changes you have made locally are already pushed to your branch on the remote. The title for the merge request should be:
1. "Competition entry for `first` `last`" in case of requesting a merge of a competition entry
1. "Bugfix for issue #`number`" in case of requetsing a merge of a requested change (using the _issues_ feature in GitLab)
1. "Improved `first` `last`'s content" in cae of requesting a merge of an improved `.md` page
In the meantime, we do not require any information or documents to be attached to the body of the merge request.
## Adding a competition entry
After creating your own branch (following the guidelines above). Follow these steps:
1. Look for your video file in the `./static/video` folder on this repo, this has one of two possible outcomes:
1. You found the video file(s), they have been pushed by the instructor from Moodle. Keep note of the filename stem (without the extension), and let's call that `video` and go to step 2 below.
1. The file is not there, because you did not submit on time. In this case, you will have to commit your video file to `./content/video` (please follow the naming guidelines above). The stem of this filename (without the extension) is assume to be `video` in step 2 below.
2. After you identified the video, this is the time to add **a new `.md` file** in the `./content/post` directory of the repo (please follow the naming guidelines above). In this file, please use the contents of `2021-12-01-orwa-diraneyya.md` as a template while changing this line:
```
{{<video "...">}}
```
to include the video filename stem `video` where the three dots `...` are (without the extension).
3. Use the `preview_website.bat` batch file to ensure that the two changes above result in adding your competition entry to the showdown website.
4. Commit the changes above to **your own created branch** and push the chages to the remote.
5. Go to [GitLab.com](https://gitlab.com/rwth-crmasters-wise2122/deep-music-visualizer-showdown) and create a merge request (please follow the merge-requet guidelines above).
## References
- [Deep Music Visualizer](https://github.com/msieg/deep-music-visualizer): Is a repository on GitHub that we use in this project to generate music visualizations from a music file and a list of image classes from a public dataset.
- [HUGO](https://gohugo.io/): Is a computer program that generates a website from a set of `.md` files containing the content, which are formatted using a number of `.html` _Go_ templates.
- [GitLabs CI/CD](https://docs.gitlab.com/ee/ci/yaml/): Is a DevOps system where pushes to GitLab repository triggers a computer script that can then generate something useful, in this case a website.
- [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/): Is the part of GitLab where GitLab CI/CD generates a website and GitLab provides a URL where this DevOps-generated website can be served.
Each time the main branch (i.e. the `master` branch) on this repo changes, the following website changes in response to that change:
https://rwth-crmasters-wise2122.gitlab.io/deep-music-visualizer-showdown/
The process responsible of this is called DevOps and is described in the file named `.gitlab-ci.yml` at the root of this repo.
# An Example of a Website Development Process
Using a Static-Site-Generation tool named _HUGO_ and a repository made up of markdown files, images/videos and HTML templates.
Below is a diagram of what happens each time we change the repository:
![HUGO Diagram](./docs/HUGO_big_picture.plain.svg)
In any development team, you have to be on the same page with other developers in the team with regard to:
1. The _file-naming policy_: how to name the files we add to the repo in different directories
1. The _branch-naming policy_: how do we call our branches
1. The _merge-request documentation_:
- when to mark the merge request as a draft,
- how to name the merge request,
- what information to add to the merge-request body
In the session on the 1st of December, 2021 of the DSSIPD course, **we did not have clear policies.** This resulted in a lot of inconsistency which would make managing the development difficult, and hence would be unacceptable in a professional environment.
Hence, when joining a new development team, even if you are a consultant, a content creator, or a manager, it is important to ask how things are expected to be done to maximize the impact of your contributions and to minimize friction with coworkers and line managers.
## Contribution Guidelines to this Repo
In order to mitigate the problems above and to help you grow professionally, we came up with the following guidelines after the session on the 1st of December:
1. **Filenames:** all filenmes should be in small-caps, dashes in-between words, and no spaces/special characters. More specifically:
1. Filenames in `./static/videos/` (for the competition entry videos) use either your first name or your last name, depending on which one is more unique (if both are equally unique, then it is up to you to decide). If more than one video needs to be pushed, use a dash and a number before the extension (e.g. `orwa-1.mp4`, `orwa-2.mp4`)
1. Filenames in `./content/post` (for the competition entry articles) follow the format "`YYYY`-`MM`-`DD`-`first`-`last`.md" (please see the examples in that directory)
1. **Branch names:**
1. For branches adding a new competition entry: use _"competition-`first`-`last`"_ to indicate that it is a branch designating a competition entry and that it belongs to you.
1. For branches fixing an issue: use _"bugfix-issue-`number`"_ where `number` is the issue number.
1. For branches fixing a problem that had not been documented in an issue: use _"bugfix-`first`-`last`"_
1. For other types of improvements after your requirements are met: use _"feature-(`first`|`last`)-`...`"_ where the part _(`A`|`B`)_ means either `A` or `B` and the three dots `...` stand for anything you want assuming it is:
1. All in small caps
1. Uses dashes in-between the words
1. No special characters
1. **Merge request:** please mark the merge request as a draft until you are sure that it runs correctly (using the *preview_website* batch file ran locally) and that all the changes you have made locally are already pushed to your branch on the remote. The title for the merge request should be:
1. "Competition entry for `first` `last`" in case of requesting a merge of a competition entry
1. "Bugfix for issue #`number`" in case of requetsing a merge of a requested change (using the _issues_ feature in GitLab)
1. "Improved `first` `last`'s content" in cae of requesting a merge of an improved `.md` page
In the meantime, we do not require any information or documents to be attached to the body of the merge request.
## Adding a competition entry
After creating your own branch (following the guidelines above). Follow these steps:
1. Look for your video file in the `./static/video` folder on this repo, this has one of two possible outcomes:
1. You found the video file(s), they have been pushed by the instructor from Moodle. Keep note of the filename stem (without the extension), and let's call that `video` and go to step 2 below.
1. The file is not there, because you did not submit on time. In this case, you will have to commit your video file to `./content/video` (please follow the naming guidelines above). The stem of this filename (without the extension) is assume to be `video` in step 2 below.
2. After you identified the video, this is the time to add **a new `.md` file** in the `./content/post` directory of the repo (please follow the naming guidelines above). In this file, please use the contents of `2021-12-01-orwa-diraneyya.md` as a template while changing this line:
```
{{<video "...">}}
```
to include the video filename stem `video` where the three dots `...` are (without the extension).
3. Use the `preview_website.bat` batch file to ensure that the two changes above result in adding your competition entry to the showdown website.
4. Commit the changes above to **your own created branch** and push the chages to the remote.
5. Go to [GitLab.com](https://gitlab.com/rwth-crmasters-wise2122/deep-music-visualizer-showdown) and create a merge request (please follow the merge-requet guidelines above).
## References
- [Deep Music Visualizer](https://github.com/msieg/deep-music-visualizer): Is a repository on GitHub that we use in this project to generate music visualizations from a music file and a list of image classes from a public dataset.
- [HUGO](https://gohugo.io/): Is a computer program that generates a website from a set of `.md` files containing the content, which are formatted using a number of `.html` _Go_ templates.
- [GitLabs CI/CD](https://docs.gitlab.com/ee/ci/yaml/): Is a DevOps system where pushes to GitLab repository triggers a computer script that can then generate something useful, in this case a website.
- [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/): Is the part of GitLab where GitLab CI/CD generates a website and GitLab provides a URL where this DevOps-generated website can be served.

View file

@ -1,201 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -1,224 +1,224 @@
<a href="https://gohugo.io/"><img src="https://raw.githubusercontent.com/gohugoio/gohugoioTheme/master/static/images/hugo-logo-wide.svg?sanitize=true" alt="Hugo" width="565"></a>
A Fast and Flexible Static Site Generator built with love by [bep](https://github.com/bep), [spf13](http://spf13.com/) and [friends](https://github.com/gohugoio/hugo/graphs/contributors) in [Go][].
[Website](https://gohugo.io) |
[Forum](https://discourse.gohugo.io) |
[Documentation](https://gohugo.io/getting-started/) |
[Installation Guide](https://gohugo.io/getting-started/installing/) |
[Contribution Guide](CONTRIBUTING.md) |
[Twitter](https://twitter.com/gohugoio)
[![GoDoc](https://godoc.org/github.com/gohugoio/hugo?status.svg)](https://godoc.org/github.com/gohugoio/hugo)
[![Tests on Linux, MacOS and Windows](https://github.com/gohugoio/hugo/workflows/Test/badge.svg)](https://github.com/gohugoio/hugo/actions?query=workflow%3ATest)
[![Go Report Card](https://goreportcard.com/badge/github.com/gohugoio/hugo)](https://goreportcard.com/report/github.com/gohugoio/hugo)
## Overview
Hugo is a static HTML and CSS website generator written in [Go][].
It is optimized for speed, ease of use, and configurability.
Hugo takes a directory with content and templates and renders them into a full HTML website.
Hugo relies on Markdown files with front matter for metadata, and you can run Hugo from any directory.
This works well for shared hosts and other systems where you dont have a privileged account.
Hugo renders a typical website of moderate size in a fraction of a second.
A good rule of thumb is that each piece of content renders in around 1 millisecond.
Hugo is designed to work well for any kind of website including blogs, tumbles, and docs.
#### Supported Architectures
Currently, we provide pre-built Hugo binaries for Windows, Linux, FreeBSD, NetBSD, DragonFly BSD, OpenBSD, macOS (Darwin), and [Android](https://gist.github.com/bep/a0d8a26cf6b4f8bc992729b8e50b480b) for x64, i386 and ARM architectures.
Hugo may also be compiled from source wherever the Go compiler tool chain can run, e.g. for other operating systems including Plan 9 and Solaris.
**Complete documentation is available at [Hugo Documentation](https://gohugo.io/getting-started/).**
## Choose How to Install
If you want to use Hugo as your site generator, simply install the Hugo binaries.
The Hugo binaries have no external dependencies.
To contribute to the Hugo source code or documentation, you should [fork the Hugo GitHub project](https://github.com/gohugoio/hugo#fork-destination-box) and clone it to your local machine.
Finally, you can install the Hugo source code with `go`, build the binaries yourself, and run Hugo that way.
Building the binaries is an easy task for an experienced `go` getter.
### Install Hugo as Your Site Generator (Binary Install)
Use the [installation instructions in the Hugo documentation](https://gohugo.io/getting-started/installing/).
### Build and Install the Binaries from Source (Advanced Install)
#### Prerequisite Tools
* [Git](https://git-scm.com/)
* [Go (we test it with the last 2 major versions; but note that Hugo 0.81.0 only builds with >= Go 1.16.)](https://golang.org/dl/)
#### Fetch from GitHub
Since Hugo 0.48, Hugo uses the Go Modules support built into Go 1.11 to build. The easiest is to clone Hugo in a directory outside of `GOPATH`, as in the following example:
```bash
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install
```
**If you are a Windows user, substitute the `$HOME` environment variable above with `%USERPROFILE%`.**
If you want to compile with Sass/SCSS support use `--tags extended` and make sure `CGO_ENABLED=1` is set in your go environment. If you don't want to have CGO enabled, you may use the following command to temporarily enable CGO only for hugo compilation:
```bash
CGO_ENABLED=1 go install --tags extended
```
## The Hugo Documentation
The Hugo documentation now lives in its own repository, see https://github.com/gohugoio/hugoDocs. But we do keep a version of that documentation as a `git subtree` in this repository. To build the sub folder `/docs` as a Hugo site, you need to clone this repo:
```bash
git clone git@github.com:gohugoio/hugo.git
```
## Contributing to Hugo
For a complete guide to contributing to Hugo, see the [Contribution Guide](CONTRIBUTING.md).
We welcome contributions to Hugo of any kind including documentation, themes,
organization, tutorials, blog posts, bug reports, issues, feature requests,
feature implementations, pull requests, answering questions on the forum,
helping to manage issues, etc.
The Hugo community and maintainers are [very active](https://github.com/gohugoio/hugo/pulse/monthly) and helpful, and the project benefits greatly from this activity.
### Asking Support Questions
We have an active [discussion forum](https://discourse.gohugo.io) where users and developers can ask questions.
Please don't use the GitHub issue tracker to ask questions.
### Reporting Issues
If you believe you have found a defect in Hugo or its documentation, use
the GitHub issue tracker to report the problem to the Hugo maintainers.
If you're not sure if it's a bug or not, start by asking in the [discussion forum](https://discourse.gohugo.io).
When reporting the issue, please provide the version of Hugo in use (`hugo version`).
### Submitting Patches
The Hugo project welcomes all contributors and contributions regardless of skill or experience level.
If you are interested in helping with the project, we will help you with your contribution.
Hugo is a very active project with many contributions happening daily.
We want to create the best possible product for our users and the best contribution experience for our developers,
we have a set of guidelines which ensure that all contributions are acceptable.
The guidelines are not intended as a filter or barrier to participation.
If you are unfamiliar with the contribution process, the Hugo team will help you and teach you how to bring your contribution in accordance with the guidelines.
For a complete guide to contributing code to Hugo, see the [Contribution Guide](CONTRIBUTING.md).
[Go]: https://golang.org/
[Hugo Documentation]: https://gohugo.io/overview/introduction/
## Dependencies
Hugo stands on the shoulder of many great open source libraries.
If you run `hugo env -v` you will get a complete and up to date list.
In Hugo 0.89.0 that list is, in lexical order:
```
cloud.google.com/go/storage="v1.10.0"
cloud.google.com/go="v0.87.0"
github.com/Azure/azure-pipeline-go="v0.2.2"
github.com/Azure/azure-storage-blob-go="v0.9.0"
github.com/BurntSushi/locker="v0.0.0-20171006230638-a6e239ea1c69"
github.com/BurntSushi/toml="v0.3.1"
github.com/PuerkitoBio/purell="v1.1.1"
github.com/PuerkitoBio/urlesc="v0.0.0-20170810143723-de5bf2ad4578"
github.com/alecthomas/chroma="v0.9.4"
github.com/armon/go-radix="v1.0.0"
github.com/aws/aws-sdk-go="v1.41.14"
github.com/bep/debounce="v1.2.0"
github.com/bep/gitmap="v1.1.2"
github.com/bep/godartsass="v0.12.0"
github.com/bep/golibsass="v1.0.0"
github.com/bep/gowebp="v0.1.0"
github.com/bep/tmc="v0.5.1"
github.com/cli/safeexec="v1.0.0"
github.com/cpuguy83/go-md2man/v2="v2.0.0"
github.com/disintegration/gift="v1.2.1"
github.com/dlclark/regexp2="v1.4.0"
github.com/dustin/go-humanize="v1.0.0"
github.com/evanw/esbuild="v0.13.12"
github.com/fsnotify/fsnotify="v1.5.1"
github.com/getkin/kin-openapi="v0.80.0"
github.com/ghodss/yaml="v1.0.0"
github.com/go-openapi/jsonpointer="v0.19.5"
github.com/go-openapi/swag="v0.19.5"
github.com/gobuffalo/flect="v0.2.3"
github.com/gobwas/glob="v0.2.3"
github.com/gohugoio/go-i18n/v2="v2.1.3-0.20210430103248-4c28c89f8013"
github.com/gohugoio/locales="v0.14.0"
github.com/gohugoio/localescompressed="v0.14.0"
github.com/golang/groupcache="v0.0.0-20200121045136-8c9f03a8e57e"
github.com/golang/protobuf="v1.5.2"
github.com/google/go-cmp="v0.5.6"
github.com/google/uuid="v1.1.2"
github.com/google/wire="v0.4.0"
github.com/googleapis/gax-go/v2="v2.0.5"
github.com/googleapis/gax-go="v2.0.2+incompatible"
github.com/gorilla/websocket="v1.4.2"
github.com/inconshreveable/mousetrap="v1.0.0"
github.com/jdkato/prose="v1.2.1"
github.com/jmespath/go-jmespath="v0.4.0"
github.com/kyokomi/emoji/v2="v2.2.8"
github.com/mailru/easyjson="v0.0.0-20190626092158-b2ccc519800e"
github.com/mattn/go-ieproxy="v0.0.1"
github.com/mattn/go-isatty="v0.0.14"
github.com/mattn/go-runewidth="v0.0.9"
github.com/miekg/mmark="v1.3.6"
github.com/mitchellh/hashstructure="v1.1.0"
github.com/mitchellh/mapstructure="v1.4.2"
github.com/muesli/smartcrop="v0.3.0"
github.com/niklasfasching/go-org="v1.5.0"
github.com/olekukonko/tablewriter="v0.0.5"
github.com/pelletier/go-toml/v2="v2.0.0-beta.3.0.20210727221244-fa0796069526"
github.com/pkg/errors="v0.9.1"
github.com/rogpeppe/go-internal="v1.8.0"
github.com/russross/blackfriday/v2="v2.0.1"
github.com/russross/blackfriday="v1.5.3-0.20200218234912-41c5fccfd6f6"
github.com/rwcarlsen/goexif="v0.0.0-20190401172101-9e8deecbddbd"
github.com/sanity-io/litter="v1.5.1"
github.com/sass/libsass="3.6.5"
github.com/shurcooL/sanitized_anchor_name="v1.0.0"
github.com/spf13/afero="v1.6.0"
github.com/spf13/cast="v1.4.1"
github.com/spf13/cobra="v1.2.1"
github.com/spf13/fsync="v0.9.0"
github.com/spf13/jwalterweatherman="v1.1.0"
github.com/spf13/pflag="v1.0.5"
github.com/tdewolff/minify/v2="v2.9.22"
github.com/tdewolff/parse/v2="v2.5.21"
github.com/webmproject/libwebp="v1.2.0"
github.com/yuin/goldmark-highlighting="v0.0.0-20200307114337-60d527fdb691"
github.com/yuin/goldmark="v1.4.2"
go.opencensus.io="v0.23.0"
gocloud.dev="v0.20.0"
golang.org/x/image="v0.0.0-20210220032944-ac19c3e999fb"
golang.org/x/net="v0.0.0-20210614182718-04defd469f4e"
golang.org/x/oauth2="v0.0.0-20210628180205-a41e5a781914"
golang.org/x/sync="v0.0.0-20210220032951-036812b2e83c"
golang.org/x/sys="v0.0.0-20210908233432-aa78b53d3365"
golang.org/x/text="v0.3.7"
golang.org/x/xerrors="v0.0.0-20200804184101-5ec99f83aff1"
google.golang.org/api="v0.51.0"
google.golang.org/genproto="v0.0.0-20210716133855-ce7ef5c701ea"
google.golang.org/grpc="v1.39.0"
google.golang.org/protobuf="v1.27.1"
gopkg.in/yaml.v2="v2.4.0"
```
<a href="https://gohugo.io/"><img src="https://raw.githubusercontent.com/gohugoio/gohugoioTheme/master/static/images/hugo-logo-wide.svg?sanitize=true" alt="Hugo" width="565"></a>
A Fast and Flexible Static Site Generator built with love by [bep](https://github.com/bep), [spf13](http://spf13.com/) and [friends](https://github.com/gohugoio/hugo/graphs/contributors) in [Go][].
[Website](https://gohugo.io) |
[Forum](https://discourse.gohugo.io) |
[Documentation](https://gohugo.io/getting-started/) |
[Installation Guide](https://gohugo.io/getting-started/installing/) |
[Contribution Guide](CONTRIBUTING.md) |
[Twitter](https://twitter.com/gohugoio)
[![GoDoc](https://godoc.org/github.com/gohugoio/hugo?status.svg)](https://godoc.org/github.com/gohugoio/hugo)
[![Tests on Linux, MacOS and Windows](https://github.com/gohugoio/hugo/workflows/Test/badge.svg)](https://github.com/gohugoio/hugo/actions?query=workflow%3ATest)
[![Go Report Card](https://goreportcard.com/badge/github.com/gohugoio/hugo)](https://goreportcard.com/report/github.com/gohugoio/hugo)
## Overview
Hugo is a static HTML and CSS website generator written in [Go][].
It is optimized for speed, ease of use, and configurability.
Hugo takes a directory with content and templates and renders them into a full HTML website.
Hugo relies on Markdown files with front matter for metadata, and you can run Hugo from any directory.
This works well for shared hosts and other systems where you dont have a privileged account.
Hugo renders a typical website of moderate size in a fraction of a second.
A good rule of thumb is that each piece of content renders in around 1 millisecond.
Hugo is designed to work well for any kind of website including blogs, tumbles, and docs.
#### Supported Architectures
Currently, we provide pre-built Hugo binaries for Windows, Linux, FreeBSD, NetBSD, DragonFly BSD, OpenBSD, macOS (Darwin), and [Android](https://gist.github.com/bep/a0d8a26cf6b4f8bc992729b8e50b480b) for x64, i386 and ARM architectures.
Hugo may also be compiled from source wherever the Go compiler tool chain can run, e.g. for other operating systems including Plan 9 and Solaris.
**Complete documentation is available at [Hugo Documentation](https://gohugo.io/getting-started/).**
## Choose How to Install
If you want to use Hugo as your site generator, simply install the Hugo binaries.
The Hugo binaries have no external dependencies.
To contribute to the Hugo source code or documentation, you should [fork the Hugo GitHub project](https://github.com/gohugoio/hugo#fork-destination-box) and clone it to your local machine.
Finally, you can install the Hugo source code with `go`, build the binaries yourself, and run Hugo that way.
Building the binaries is an easy task for an experienced `go` getter.
### Install Hugo as Your Site Generator (Binary Install)
Use the [installation instructions in the Hugo documentation](https://gohugo.io/getting-started/installing/).
### Build and Install the Binaries from Source (Advanced Install)
#### Prerequisite Tools
* [Git](https://git-scm.com/)
* [Go (we test it with the last 2 major versions; but note that Hugo 0.81.0 only builds with >= Go 1.16.)](https://golang.org/dl/)
#### Fetch from GitHub
Since Hugo 0.48, Hugo uses the Go Modules support built into Go 1.11 to build. The easiest is to clone Hugo in a directory outside of `GOPATH`, as in the following example:
```bash
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install
```
**If you are a Windows user, substitute the `$HOME` environment variable above with `%USERPROFILE%`.**
If you want to compile with Sass/SCSS support use `--tags extended` and make sure `CGO_ENABLED=1` is set in your go environment. If you don't want to have CGO enabled, you may use the following command to temporarily enable CGO only for hugo compilation:
```bash
CGO_ENABLED=1 go install --tags extended
```
## The Hugo Documentation
The Hugo documentation now lives in its own repository, see https://github.com/gohugoio/hugoDocs. But we do keep a version of that documentation as a `git subtree` in this repository. To build the sub folder `/docs` as a Hugo site, you need to clone this repo:
```bash
git clone git@github.com:gohugoio/hugo.git
```
## Contributing to Hugo
For a complete guide to contributing to Hugo, see the [Contribution Guide](CONTRIBUTING.md).
We welcome contributions to Hugo of any kind including documentation, themes,
organization, tutorials, blog posts, bug reports, issues, feature requests,
feature implementations, pull requests, answering questions on the forum,
helping to manage issues, etc.
The Hugo community and maintainers are [very active](https://github.com/gohugoio/hugo/pulse/monthly) and helpful, and the project benefits greatly from this activity.
### Asking Support Questions
We have an active [discussion forum](https://discourse.gohugo.io) where users and developers can ask questions.
Please don't use the GitHub issue tracker to ask questions.
### Reporting Issues
If you believe you have found a defect in Hugo or its documentation, use
the GitHub issue tracker to report the problem to the Hugo maintainers.
If you're not sure if it's a bug or not, start by asking in the [discussion forum](https://discourse.gohugo.io).
When reporting the issue, please provide the version of Hugo in use (`hugo version`).
### Submitting Patches
The Hugo project welcomes all contributors and contributions regardless of skill or experience level.
If you are interested in helping with the project, we will help you with your contribution.
Hugo is a very active project with many contributions happening daily.
We want to create the best possible product for our users and the best contribution experience for our developers,
we have a set of guidelines which ensure that all contributions are acceptable.
The guidelines are not intended as a filter or barrier to participation.
If you are unfamiliar with the contribution process, the Hugo team will help you and teach you how to bring your contribution in accordance with the guidelines.
For a complete guide to contributing code to Hugo, see the [Contribution Guide](CONTRIBUTING.md).
[Go]: https://golang.org/
[Hugo Documentation]: https://gohugo.io/overview/introduction/
## Dependencies
Hugo stands on the shoulder of many great open source libraries.
If you run `hugo env -v` you will get a complete and up to date list.
In Hugo 0.89.0 that list is, in lexical order:
```
cloud.google.com/go/storage="v1.10.0"
cloud.google.com/go="v0.87.0"
github.com/Azure/azure-pipeline-go="v0.2.2"
github.com/Azure/azure-storage-blob-go="v0.9.0"
github.com/BurntSushi/locker="v0.0.0-20171006230638-a6e239ea1c69"
github.com/BurntSushi/toml="v0.3.1"
github.com/PuerkitoBio/purell="v1.1.1"
github.com/PuerkitoBio/urlesc="v0.0.0-20170810143723-de5bf2ad4578"
github.com/alecthomas/chroma="v0.9.4"
github.com/armon/go-radix="v1.0.0"
github.com/aws/aws-sdk-go="v1.41.14"
github.com/bep/debounce="v1.2.0"
github.com/bep/gitmap="v1.1.2"
github.com/bep/godartsass="v0.12.0"
github.com/bep/golibsass="v1.0.0"
github.com/bep/gowebp="v0.1.0"
github.com/bep/tmc="v0.5.1"
github.com/cli/safeexec="v1.0.0"
github.com/cpuguy83/go-md2man/v2="v2.0.0"
github.com/disintegration/gift="v1.2.1"
github.com/dlclark/regexp2="v1.4.0"
github.com/dustin/go-humanize="v1.0.0"
github.com/evanw/esbuild="v0.13.12"
github.com/fsnotify/fsnotify="v1.5.1"
github.com/getkin/kin-openapi="v0.80.0"
github.com/ghodss/yaml="v1.0.0"
github.com/go-openapi/jsonpointer="v0.19.5"
github.com/go-openapi/swag="v0.19.5"
github.com/gobuffalo/flect="v0.2.3"
github.com/gobwas/glob="v0.2.3"
github.com/gohugoio/go-i18n/v2="v2.1.3-0.20210430103248-4c28c89f8013"
github.com/gohugoio/locales="v0.14.0"
github.com/gohugoio/localescompressed="v0.14.0"
github.com/golang/groupcache="v0.0.0-20200121045136-8c9f03a8e57e"
github.com/golang/protobuf="v1.5.2"
github.com/google/go-cmp="v0.5.6"
github.com/google/uuid="v1.1.2"
github.com/google/wire="v0.4.0"
github.com/googleapis/gax-go/v2="v2.0.5"
github.com/googleapis/gax-go="v2.0.2+incompatible"
github.com/gorilla/websocket="v1.4.2"
github.com/inconshreveable/mousetrap="v1.0.0"
github.com/jdkato/prose="v1.2.1"
github.com/jmespath/go-jmespath="v0.4.0"
github.com/kyokomi/emoji/v2="v2.2.8"
github.com/mailru/easyjson="v0.0.0-20190626092158-b2ccc519800e"
github.com/mattn/go-ieproxy="v0.0.1"
github.com/mattn/go-isatty="v0.0.14"
github.com/mattn/go-runewidth="v0.0.9"
github.com/miekg/mmark="v1.3.6"
github.com/mitchellh/hashstructure="v1.1.0"
github.com/mitchellh/mapstructure="v1.4.2"
github.com/muesli/smartcrop="v0.3.0"
github.com/niklasfasching/go-org="v1.5.0"
github.com/olekukonko/tablewriter="v0.0.5"
github.com/pelletier/go-toml/v2="v2.0.0-beta.3.0.20210727221244-fa0796069526"
github.com/pkg/errors="v0.9.1"
github.com/rogpeppe/go-internal="v1.8.0"
github.com/russross/blackfriday/v2="v2.0.1"
github.com/russross/blackfriday="v1.5.3-0.20200218234912-41c5fccfd6f6"
github.com/rwcarlsen/goexif="v0.0.0-20190401172101-9e8deecbddbd"
github.com/sanity-io/litter="v1.5.1"
github.com/sass/libsass="3.6.5"
github.com/shurcooL/sanitized_anchor_name="v1.0.0"
github.com/spf13/afero="v1.6.0"
github.com/spf13/cast="v1.4.1"
github.com/spf13/cobra="v1.2.1"
github.com/spf13/fsync="v0.9.0"
github.com/spf13/jwalterweatherman="v1.1.0"
github.com/spf13/pflag="v1.0.5"
github.com/tdewolff/minify/v2="v2.9.22"
github.com/tdewolff/parse/v2="v2.5.21"
github.com/webmproject/libwebp="v1.2.0"
github.com/yuin/goldmark-highlighting="v0.0.0-20200307114337-60d527fdb691"
github.com/yuin/goldmark="v1.4.2"
go.opencensus.io="v0.23.0"
gocloud.dev="v0.20.0"
golang.org/x/image="v0.0.0-20210220032944-ac19c3e999fb"
golang.org/x/net="v0.0.0-20210614182718-04defd469f4e"
golang.org/x/oauth2="v0.0.0-20210628180205-a41e5a781914"
golang.org/x/sync="v0.0.0-20210220032951-036812b2e83c"
golang.org/x/sys="v0.0.0-20210908233432-aa78b53d3365"
golang.org/x/text="v0.3.7"
golang.org/x/xerrors="v0.0.0-20200804184101-5ec99f83aff1"
google.golang.org/api="v0.51.0"
google.golang.org/genproto="v0.0.0-20210716133855-ce7ef5c701ea"
google.golang.org/grpc="v1.39.0"
google.golang.org/protobuf="v1.27.1"
gopkg.in/yaml.v2="v2.4.0"
```

View file

@ -1,2 +1,2 @@
@RD /S /Q "public"
@RD /S /Q "public"
bin\hugo

View file

@ -1,94 +1,94 @@
baseurl = "https://rwth-crmasters-wise2122.gitlab.io/deep-music-visualizer-showdown/"
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
title = "Deep Music Visualizer Showdown"
canonifyurls = true
DefaultContentLanguage = "en"
theme = "beautifulhugo"
metaDataFormat = "yaml"
pygmentsUseClasses = true
pygmentCodeFences = true
#disqusShortname = "XXX"
#googleAnalytics = "XXX"
[Params]
subtitle = "A showdown of all the music visualizations created by DSSIPD students in WiSe 2021/20211"
logo = "img/avatar-icon.png"
favicon = "img/favicon.ico"
dateFormat = "January 2, 2006"
commit = false
rss = true
comments = true
# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic"
#[[Params.bigimg]]
# src = "img/triangle.jpg"
# desc = "Triangle"
#[[Params.bigimg]]
# src = "img/sphere.jpg"
# desc = "Sphere"
#[[Params.bigimg]]
# src = "img/hexagon.jpg"
# desc = "Hexagon"
[Author]
name = "Some Person"
email = "youremail@domain.com"
facebook = "username"
googleplus = "+username" # or xxxxxxxxxxxxxxxxxxxxx
gitlab = "username"
github = "username"
twitter = "username"
reddit = "username"
linkedin = "username"
xing = "username"
stackoverflow = "users/XXXXXXX/username"
snapchat = "username"
instagram = "username"
youtube = "user/username" # or channel/channelname
soundcloud = "username"
spotify = "username"
bandcamp = "username"
itchio = "username"
keybase = "username"
[[menu.main]]
name = "Blog"
url = ""
weight = 1
[[menu.main]]
name = "About"
url = "page/about/"
weight = 3
[[menu.main]]
identifier = "samples"
name = "Samples"
weight = 2
[[menu.main]]
parent = "samples"
name = "Big Image Sample"
url = "post/2017-03-07-bigimg-sample"
weight = 1
[[menu.main]]
parent = "samples"
name = "Math Sample"
url = "post/2017-03-05-math-sample"
weight = 2
[[menu.main]]
parent = "samples"
name = "Code Sample"
url = "post/2016-03-08-code-sample"
weight = 3
[[menu.main]]
name = "Tags"
url = "tags"
weight = 3
baseurl = "deep-music-visualizer-showdown/"
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
title = "Deep Music Visualizer Showdown"
canonifyurls = true
DefaultContentLanguage = "en"
theme = "beautifulhugo"
metaDataFormat = "yaml"
pygmentsUseClasses = true
pygmentCodeFences = true
#disqusShortname = "XXX"
#googleAnalytics = "XXX"
[Params]
subtitle = "A showdown of all the music visualizations created by DSSIPD students in WiSe 2021/20211"
logo = "img/avatar-icon.png"
favicon = "img/favicon.ico"
dateFormat = "January 2, 2006"
commit = false
rss = true
comments = true
# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic"
#[[Params.bigimg]]
# src = "img/triangle.jpg"
# desc = "Triangle"
#[[Params.bigimg]]
# src = "img/sphere.jpg"
# desc = "Sphere"
#[[Params.bigimg]]
# src = "img/hexagon.jpg"
# desc = "Hexagon"
[Author]
name = "Some Person"
email = "youremail@domain.com"
facebook = "username"
googleplus = "+username" # or xxxxxxxxxxxxxxxxxxxxx
gitlab = "username"
github = "username"
twitter = "username"
reddit = "username"
linkedin = "username"
xing = "username"
stackoverflow = "users/XXXXXXX/username"
snapchat = "username"
instagram = "username"
youtube = "user/username" # or channel/channelname
soundcloud = "username"
spotify = "username"
bandcamp = "username"
itchio = "username"
keybase = "username"
[[menu.main]]
name = "Blog"
url = ""
weight = 1
[[menu.main]]
name = "About"
url = "page/about/"
weight = 3
[[menu.main]]
identifier = "samples"
name = "Samples"
weight = 2
[[menu.main]]
parent = "samples"
name = "Big Image Sample"
url = "post/2017-03-07-bigimg-sample"
weight = 1
[[menu.main]]
parent = "samples"
name = "Math Sample"
url = "post/2017-03-05-math-sample"
weight = 2
[[menu.main]]
parent = "samples"
name = "Code Sample"
url = "post/2016-03-08-code-sample"
weight = 3
[[menu.main]]
name = "Tags"
url = "tags"
weight = 3

View file

@ -1,6 +1,6 @@
## What is this all about
This website was setup in under 30 minutes using the HUGO project template on GitLab.
The website provides a showdown of all the visualizations created by the DSSIPD WiSe 2021/2022 students in the CR-Masters program in the RWTH Aachen university.
## What is this all about
This website was setup in under 30 minutes using the HUGO project template on GitLab.
The website provides a showdown of all the visualizations created by the DSSIPD WiSe 2021/2022 students in the CR-Masters program in the RWTH Aachen university.

3
content/api/index.md Normal file
View file

@ -0,0 +1,3 @@
{
"whaaaat": 2
}

View file

@ -1,19 +1,19 @@
---
title: About me
subtitle: Why you'd want to hang out with me
comments: false
---
My name is The Dude. I have the following qualities:
- I rock a great beard
- I'm extremely loyal to my friends
- I like bowling
That rug really tied the room together.
### my history
To be honest, I'm having some trouble remembering right now, so why don't you
just watch [my movie](https://en.wikipedia.org/wiki/The_Big_Lebowski) and it
will answer **all** your questions.
---
title: About me
subtitle: Why you'd want to hang out with me
comments: false
---
My name is The Dude. I have the following qualities:
- I rock a great beard
- I'm extremely loyal to my friends
- I like bowling
That rug really tied the room together.
### my history
To be honest, I'm having some trouble remembering right now, so why don't you
just watch [my movie](https://en.wikipedia.org/wiki/The_Big_Lebowski) and it
will answer **all** your questions.

View file

@ -1,25 +1,25 @@
---
title: Elif's Visualization
subtitle: Inspired by the trip
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Elif's entry for the competition.
I made a video, I was inspired by the type of music I heard in the Radio Channel.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `serenade.wav` --batch_size 4 --duration 35 \
--pitch_sensitivity 290 \
--classes 431 435 448 472 512 542 625 626 638 644 701 724 \
--output_file `Elif_Akbas_Serenade`
```
---
title: Elif's Visualization
subtitle: Inspired by the trip
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Elif's entry for the competition.
I made a video, I was inspired by the type of music I heard in the Radio Channel.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `serenade.wav` --batch_size 4 --duration 35 \
--pitch_sensitivity 290 \
--classes 431 435 448 472 512 542 625 626 638 644 701 724 \
--output_file `Elif_Akbas_Serenade`
```
{{<video "elif">}}

View file

@ -1,41 +1,41 @@
---
title: Emad's Visualization
subtitle: Inspired from the national anthem of the ottoman Empire.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Emad's entry for the competition.
I made a lot of videos (a couple of failed attempts)
## Command Variations
I tried different things, because i didn't have a good GPU drive i tried to restrict the process time so i selected the following options --batch_size 3
--duration 25
--resolution 256
--pitch_sensitivity 290
I wanted to select images classes which present this big empire so I selected
- 847: 'tank, army tank, armored combat vehicle, armoured combat vehicle',
- 483: 'castle',
- 668: 'mosque',
- 724: 'pirate, pirate ship',
- 652: 'military uniform',
- 413: 'assault rifle, assault gun',
- 269: 'timber wolf, grey wolf, gray wolf, Canis lupus',
- 403: 'aircraft carrier, carrier, flattop, attack aircraft carrier',
- 319: "dragonfly, darning needle, devil's darning needle, sewing need"le, snake feeder, snake doctor, mosquito - hawk, skeeter hawk",
- 353: 'gazelle',
- 603: 'horse cart, horse-cart',
- 354: 'Arabian camel, dromedary, Camelus dromedarius',
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 --resolution 256 --pitch_sensitivity 290 --classes 847 483 668 724 652 413 269 403 319 353 603 354 --jitter 1 --output_file Emad_Aldoghry
{{<video "aldoghry">}}
```
---
title: Emad's Visualization
subtitle: Inspired from the national anthem of the ottoman Empire.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Emad's entry for the competition.
I made a lot of videos (a couple of failed attempts)
## Command Variations
I tried different things, because i didn't have a good GPU drive i tried to restrict the process time so i selected the following options --batch_size 3
--duration 25
--resolution 256
--pitch_sensitivity 290
I wanted to select images classes which present this big empire so I selected
- 847: 'tank, army tank, armored combat vehicle, armoured combat vehicle',
- 483: 'castle',
- 668: 'mosque',
- 724: 'pirate, pirate ship',
- 652: 'military uniform',
- 413: 'assault rifle, assault gun',
- 269: 'timber wolf, grey wolf, gray wolf, Canis lupus',
- 403: 'aircraft carrier, carrier, flattop, attack aircraft carrier',
- 319: "dragonfly, darning needle, devil's darning needle, sewing need"le, snake feeder, snake doctor, mosquito - hawk, skeeter hawk",
- 353: 'gazelle',
- 603: 'horse cart, horse-cart',
- 354: 'Arabian camel, dromedary, Camelus dromedarius',
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 --resolution 256 --pitch_sensitivity 290 --classes 847 483 668 724 652 413 269 403 319 353 603 354 --jitter 1 --output_file Emad_Aldoghry
{{<video "aldoghry">}}
```

View file

@ -1,36 +1,36 @@
---
title: Ziyu's Visualization
subtitle: Inspired by Christmas and DaftPunk
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ziyu's entry for the competition.
I made two videos, I was inspired by the type of music by DaftPunk
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file`
--resolution 128 \
--num_classes 4 \
--output_file `video file`
```
{{<video "ziyu-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --resolution 128 \
--num_classes 4 \
--classes 470 476 498 496 \
--output_file `video file`
```
---
title: Ziyu's Visualization
subtitle: Inspired by Christmas and DaftPunk
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ziyu's entry for the competition.
I made two videos, I was inspired by the type of music by DaftPunk
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file`
--resolution 128 \
--num_classes 4 \
--output_file `video file`
```
{{<video "ziyu-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --resolution 128 \
--num_classes 4 \
--classes 470 476 498 496 \
--output_file `video file`
```
{{<video "ziyu-2">}}

View file

@ -1,35 +1,35 @@
---
title: Cemre's Visualization
subtitle: Two Faces of Istanbul
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Cemre's entry for the competition.
Two aspects of the culture and of my life in Istanbul condensed into two songs.
## Command Variations
Working with different genres of songs and playing with the parameters accordingly gave me the most interesting results.
### Competition Entry 1
```bash
python `visualize.py` --song `quesera.wav` --resolution 512
--pitch_sensitivity 280 --tempo_sensitivity 0.6
--depth 0.7 --batch_size 4
```
{{<video "cemre-1">}}
### Competition Entry 2
```bash
python visualize.py --song 'zuluf.wav' --resolution 512
--pitch_sensitivity 200 --tempo_sensitivity 0.3 --depth 0.5 --jitter 0.8
--truncation 0.7 --batch_size 4 --num_classes 12
--classes 471 1 84 56 94 323 325 282 288 292 54 64`
```
---
title: Cemre's Visualization
subtitle: Two Faces of Istanbul
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Cemre's entry for the competition.
Two aspects of the culture and of my life in Istanbul condensed into two songs.
## Command Variations
Working with different genres of songs and playing with the parameters accordingly gave me the most interesting results.
### Competition Entry 1
```bash
python `visualize.py` --song `quesera.wav` --resolution 512
--pitch_sensitivity 280 --tempo_sensitivity 0.6
--depth 0.7 --batch_size 4
```
{{<video "cemre-1">}}
### Competition Entry 2
```bash
python visualize.py --song 'zuluf.wav' --resolution 512
--pitch_sensitivity 200 --tempo_sensitivity 0.3 --depth 0.5 --jitter 0.8
--truncation 0.7 --batch_size 4 --num_classes 12
--classes 471 1 84 56 94 323 325 282 288 292 54 64`
```
{{<video "cemre-2">}}

View file

@ -1,33 +1,33 @@
---
title: Dominik's Visualization
subtitle: Inspired by Berlin's underground techno parties
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Dominik's entry for the competition.
I made two videos, I was inspired by the type of music I heard at the _underground techno parties_ in Berlin.
## Command Variations
Techno music has high bpm's and a fast pitch change. The video has to be able to follow the fast changes accorddingly, so it is important to adjust the python code to it. The visuals have to support the atmosphere of the music, that's why the pictures have a fast flow and don't stay static.
### Anetha - Acid Train
```bash
python 'visualize.py' --song `song file` --resolution 512 --pitch_sensitivity 1 \
--tempo_sensitivity 0.8 --depth 1 --classes 25 50 75 150 200 400 450 550 670 699 802 969 \
--jitter 0 --frame_length 512 --truncation 0.9 --smooth_factor 5 --batch_size 4 --output_file 'video file'
```
{{<video "dominik-1">}}
### Faithless - Insomnia
```bash
visualize.py --song `song file` --resolution 256 --pitch_sensitivity 299 --tempo_sensitivity 0.1 --depth 0.4 \
--classes 9 38 57 99 145 256 437 666 786 834 890 912 --num_classes 10 --jitter 0.5 --frame_length 1024 \
--truncation 0.4 --smooth_factor 25 --batch_size 5 --output_file `video file`
```
---
title: Dominik's Visualization
subtitle: Inspired by Berlin's underground techno parties
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Dominik's entry for the competition.
I made two videos, I was inspired by the type of music I heard at the _underground techno parties_ in Berlin.
## Command Variations
Techno music has high bpm's and a fast pitch change. The video has to be able to follow the fast changes accorddingly, so it is important to adjust the python code to it. The visuals have to support the atmosphere of the music, that's why the pictures have a fast flow and don't stay static.
### Anetha - Acid Train
```bash
python 'visualize.py' --song `song file` --resolution 512 --pitch_sensitivity 1 \
--tempo_sensitivity 0.8 --depth 1 --classes 25 50 75 150 200 400 450 550 670 699 802 969 \
--jitter 0 --frame_length 512 --truncation 0.9 --smooth_factor 5 --batch_size 4 --output_file 'video file'
```
{{<video "dominik-1">}}
### Faithless - Insomnia
```bash
visualize.py --song `song file` --resolution 256 --pitch_sensitivity 299 --tempo_sensitivity 0.1 --depth 0.4 \
--classes 9 38 57 99 145 256 437 666 786 834 890 912 --num_classes 10 --jitter 0.5 --frame_length 1024 \
--truncation 0.4 --smooth_factor 25 --batch_size 5 --output_file `video file`
```
{{<video "dominik-2">}}

View file

@ -1,44 +1,44 @@
---
title: Erich's Visualization
subtitle: Assassin's Creed Soundtrack visualized with my Architecture Background
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Erich's entry for the competition.
I made three videos, I love the Assassin's Creed 2 Soundtrack, so I used Pictures which represent my Architecture Background.
## Command Variations
I finally made it! The quality is better. By adding " --batch_size 5 " I was able to increase the resolution to 512. Still, I think my first ones are better because they stimulate the imagination and more often capture the mood better.I finally made it! The quality is better. By adding " --batch_size 5 " I was able to increase the resolution to 512. Still, I think my first ones are better because they stimulate the imagination and more often capture the mood better.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --resolution 128 \
--pitch_sensitivity 250 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --output_file `video file`
```
{{<video "erich-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song-file` --resolution 128 \
--pitch_sensitivity 150 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --output_file `viedo file`
```
{{<video "erich-2">}}
### Competition Entry 3
```bash
python `visualize.py` --song `song-file` --resolution 512 \
--pitch_sensitivity 150 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --batch_size 5 --output_file `video file`
```
---
title: Erich's Visualization
subtitle: Assassin's Creed Soundtrack visualized with my Architecture Background
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Erich's entry for the competition.
I made three videos, I love the Assassin's Creed 2 Soundtrack, so I used Pictures which represent my Architecture Background.
## Command Variations
I finally made it! The quality is better. By adding " --batch_size 5 " I was able to increase the resolution to 512. Still, I think my first ones are better because they stimulate the imagination and more often capture the mood better.I finally made it! The quality is better. By adding " --batch_size 5 " I was able to increase the resolution to 512. Still, I think my first ones are better because they stimulate the imagination and more often capture the mood better.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --resolution 128 \
--pitch_sensitivity 250 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --output_file `video file`
```
{{<video "erich-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song-file` --resolution 128 \
--pitch_sensitivity 150 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --output_file `viedo file`
```
{{<video "erich-2">}}
### Competition Entry 3
```bash
python `visualize.py` --song `song-file` --resolution 512 \
--pitch_sensitivity 150 --num_classes 7 \
--classes 497 22 535 624 668 825 821 --batch_size 5 --output_file `video file`
```
{{<video "erich-3">}}

View file

@ -1,14 +1,14 @@
---
title: Filipe's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python visualize.py --song celebration.wav --resolution 128 --duration 33 --pitch_sensitivity 270 --depth 0.5 --num_classes 4 --classes 545 546 547 556 --jitter 0.2 --truncation 0.4 --smooth_factor 11 --output_file assignment01_Leao_429865.mp4
```
---
title: Filipe's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python visualize.py --song celebration.wav --resolution 128 --duration 33 --pitch_sensitivity 270 --depth 0.5 --num_classes 4 --classes 545 546 547 556 --jitter 0.2 --truncation 0.4 --smooth_factor 11 --output_file assignment01_Leao_429865.mp4
```
{{<video "filipe">}}

View file

@ -1,32 +1,32 @@
---
title: Ivana's Visualization
subtitle: Inspired by the famous Northern Macedonia´s fast 7/8 rhythm
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ivana's project video made by deep-music-visualizer.
I made four videos. I experimented with parametars and the last one proved to be the best one.
## Command Variations
The tempo was very important as the rhythm is quite fast. I was also trying to get in the video more pictures of the people than animals, but in the end I gave up and just used random numbers. Somehow this way I got 2 pictures with people, compered with my previous tries which had none.
### Competition Entry 1
```bash
python `visualize.py` --song `Jovano_Jovanke.wav`
--resolution 512
--duration 30
--pitch_sensitivity 220
--tempo_sensitivity 0.5
--depth 0.7
--classes 44 111 222 333 444 555 666 777 888 999 21 13
--jitter 0.5
--batch_size 4
--output_file `my_song_4.mp4`
```
{{<video "ivana">}}
---
title: Ivana's Visualization
subtitle: Inspired by the famous Northern Macedonia´s fast 7/8 rhythm
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ivana's project video made by deep-music-visualizer.
I made four videos. I experimented with parametars and the last one proved to be the best one.
## Command Variations
The tempo was very important as the rhythm is quite fast. I was also trying to get in the video more pictures of the people than animals, but in the end I gave up and just used random numbers. Somehow this way I got 2 pictures with people, compered with my previous tries which had none.
### Competition Entry 1
```bash
python `visualize.py` --song `Jovano_Jovanke.wav`
--resolution 512
--duration 30
--pitch_sensitivity 220
--tempo_sensitivity 0.5
--depth 0.7
--classes 44 111 222 333 444 555 666 777 888 999 21 13
--jitter 0.5
--batch_size 4
--output_file `my_song_4.mp4`
```
{{<video "ivana">}}

View file

@ -1,15 +1,15 @@
---
title: Ding's Visualization
subtitle: Inspired by my piano
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --resolution 256 --duration 30 --pitch_sensitivity 240 --depth 0.9 --jitter 0.7 --smooth_factor 12 --truncation 0.2 --frame_length 1024 --num_classes 10
--output_file `video file`
```
---
title: Ding's Visualization
subtitle: Inspired by my piano
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --resolution 256 --duration 30 --pitch_sensitivity 240 --depth 0.9 --jitter 0.7 --smooth_factor 12 --truncation 0.2 --frame_length 1024 --num_classes 10
--output_file `video file`
```
{{<video "kaiwen">}}

View file

@ -1,24 +1,24 @@
---
title: Mete's Visualization
subtitle: Inspired by my university years
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Mete's entry for the competition.
I made one video, I used to listen metal music when I was at University. This is one of the classics created by a legendary group named AC/DC.
## Command Variations
I tried different things, the jitter command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 1 --duration 27 \
--pitch_sensitivity 230 --jitter 0.3 \
--output_file `video file`
```
---
title: Mete's Visualization
subtitle: Inspired by my university years
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Mete's entry for the competition.
I made one video, I used to listen metal music when I was at University. This is one of the classics created by a legendary group named AC/DC.
## Command Variations
I tried different things, the jitter command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 1 --duration 27 \
--pitch_sensitivity 230 --jitter 0.3 \
--output_file `video file`
```
{{<video "mete">}}

View file

@ -1,24 +1,24 @@
---
title: Mohamad's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is mohamad's entry for the competition.
I made a video, I was inspired by the type of music I heard in the lo ala albi accoustic version.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 4
--classes 14 34 873 221 993 74 155 483 7 312 75 738 \
--output_file `video file`
```
{{<video "mohamad-1">}}
---
title: Mohamad's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is mohamad's entry for the competition.
I made a video, I was inspired by the type of music I heard in the lo ala albi accoustic version.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 4
--classes 14 34 873 221 993 74 155 483 7 312 75 738 \
--output_file `video file`
```
{{<video "mohamad-1">}}

View file

@ -1,33 +1,33 @@
---
title: Noureldeen's Visualization
subtitle: Inspired by the different elements in the environment surrounding our life and how it's effected by sound.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Noureldeen's entry for the competition.
I made one video, I was inspired by the different elements in the enviorment surrounding us and how the sound effects it.
## Command Variations
I played with the variables to test different outputs, I had to increase the smooth factor to visualize my slow music.
### Competition Entry
```bash
python `visualize.py` --song `song file` --resolution 512 \
--duration 258 --pitch_sensitivity 295 --tempo_sensitivity 0.8
--classes 983 980 978 966 954 928 919 889 879 857 288 107 \
--jitter 0.5 --frame_length 512 --truncation 0.5 \
--smooth_factor 20 --batch_size 4 --depth 0.5 \
--output_file `video file`
{{<video "noureldeen">}}
---
title: Noureldeen's Visualization
subtitle: Inspired by the different elements in the environment surrounding our life and how it's effected by sound.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Noureldeen's entry for the competition.
I made one video, I was inspired by the different elements in the enviorment surrounding us and how the sound effects it.
## Command Variations
I played with the variables to test different outputs, I had to increase the smooth factor to visualize my slow music.
### Competition Entry
```bash
python `visualize.py` --song `song file` --resolution 512 \
--duration 258 --pitch_sensitivity 295 --tempo_sensitivity 0.8
--classes 983 980 978 966 954 928 919 889 879 857 288 107 \
--jitter 0.5 --frame_length 512 --truncation 0.5 \
--smooth_factor 20 --batch_size 4 --depth 0.5 \
--output_file `video file`
{{<video "noureldeen">}}

View file

@ -1,19 +1,19 @@
---
title: Omar's Visualization
subtitle: Inspired by Hani Shnoudaa
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "omar">}}
---
title: Omar's Visualization
subtitle: Inspired by Hani Shnoudaa
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "omar">}}
>python visualize.py --song longa79.wav --resolution 128 --duration 30 --batch_size 4 --classes 35 39 777 236 49 30 125 198 96 675 874 530

View file

@ -1,25 +1,25 @@
---
title: Orhun's Visualization
subtitle: Bul Beni
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orhun's entry for the competition.
I made one video, I was inspired my last visit to Kosovo. Just the song not the snakes.
## Command Variations
I tried different things, but mainly I focused on the image classes.
### Competition Entry 1
```bash
python `visualize.py` --song `bulbeni.wav` --resolution 128 --duration 100/
--pitch_sensitivity 280 --depth 0.5 --num_classes 5 --classes 52 53 54 55 56/
--jitter 0 --frame_length 2048 --smooth_factor 5/
--output_file `orhunassignment.mp4`
```
{{<video "orhun">}}
---
title: Orhun's Visualization
subtitle: Bul Beni
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orhun's entry for the competition.
I made one video, I was inspired my last visit to Kosovo. Just the song not the snakes.
## Command Variations
I tried different things, but mainly I focused on the image classes.
### Competition Entry 1
```bash
python `visualize.py` --song `bulbeni.wav` --resolution 128 --duration 100/
--pitch_sensitivity 280 --depth 0.5 --num_classes 5 --classes 52 53 54 55 56/
--jitter 0 --frame_length 2048 --smooth_factor 5/
--output_file `orhunassignment.mp4`
```
{{<video "orhun">}}

View file

@ -1,35 +1,36 @@
---
title: Orwa's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orwa's entry for the competition.
I made two videos, I was inspired by the type of music I heard in the _Soulfully Yours_ parties in Holland.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "orwa-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --batch_size 3 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--resolution 512 --jitter 1 --output_file `video file`
```
---
title: Orwa's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
summary: ""
---
This is Orwa's entry for the competition.
I made two videos, I was inspired by the type of music I heard in the _Soulfully Yours_ parties in Holland.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "orwa-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --batch_size 3 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--resolution 512 --jitter 1 --output_file `video file`
```
{{<video "orwa-2">}}

View file

@ -1,21 +1,21 @@
---
title: Panoti's Visualization
subtitle: Following the last assignment related to a music visualization task
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is ********qp**************'s entry for the competition.
I tried too many videos, but I uploaded only one which I think it is the most representable.
## Command Variations
I think the most important think is to choose a song with low tempo and clear sound and harmony change. That will produce interesting and dinstriguishable images.
### Competition Entry 1
```bash
python `visualize.py` --song `stones.wav` --resolution 512 --duration 20 --batch_size 10 --pitch_sensitivity 280
--output_file `stones_batch10_pitch_output.mp4`
```
---
title: Panoti's Visualization
subtitle: Following the last assignment related to a music visualization task
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is ********qp**************'s entry for the competition.
I tried too many videos, but I uploaded only one which I think it is the most representable.
## Command Variations
I think the most important think is to choose a song with low tempo and clear sound and harmony change. That will produce interesting and dinstriguishable images.
### Competition Entry 1
```bash
python `visualize.py` --song `stones.wav` --resolution 512 --duration 20 --batch_size 10 --pitch_sensitivity 280
--output_file `stones_batch10_pitch_output.mp4`
```
{{<video `stones_batch10_pitch_output.mp4`>}}

View file

@ -1,36 +1,36 @@
---
title: Seongho's Visualization
subtitle: Inspired by a look at National Geographic.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Seongho's entry for the competition.
I made two videos, I was inspired by a look at National Geographic.
## Command Variations
I tried various things, tested various options, and got results.
### Competition Entry 1
```bash
python `visualize.py` --song `Dies Irae` --batch_size 4 --duration 46 \
--resolution 512 --pitch_sensitivity 200 --tempo_sensitivity 0.5 --depth 0.3 --jitter 0.2 \
--classes 1 2 3 4 5 6 7 8 9 10 11 12 --frame_length 512 --truncation 0.6 --smooth_factor 2\
--output_file `ha-1`
```
{{<video "ha-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `New World` --batch_size 4 --duration 46 \
--classes 24 77 86 47 85 97 72 63 43 45 66 92 --frame_length 512 --truncation 0.6 --smooth_factor 2 \
--resolution 512 --pitch_sensitivity 200 --tempo_sensitivity 0.5 --depth 0.3 --jitter 0.2 --output_file `ha-2`
```
---
title: Seongho's Visualization
subtitle: Inspired by a look at National Geographic.
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Seongho's entry for the competition.
I made two videos, I was inspired by a look at National Geographic.
## Command Variations
I tried various things, tested various options, and got results.
### Competition Entry 1
```bash
python `visualize.py` --song `Dies Irae` --batch_size 4 --duration 46 \
--resolution 512 --pitch_sensitivity 200 --tempo_sensitivity 0.5 --depth 0.3 --jitter 0.2 \
--classes 1 2 3 4 5 6 7 8 9 10 11 12 --frame_length 512 --truncation 0.6 --smooth_factor 2\
--output_file `ha-1`
```
{{<video "ha-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `New World` --batch_size 4 --duration 46 \
--classes 24 77 86 47 85 97 72 63 43 45 66 92 --frame_length 512 --truncation 0.6 --smooth_factor 2 \
--resolution 512 --pitch_sensitivity 200 --tempo_sensitivity 0.5 --depth 0.3 --jitter 0.2 --output_file `ha-2`
```
{{<video "ha-2">}}

View file

@ -1,30 +1,30 @@
---
title: Timur's Visualization
subtitle: Inspired by some music I found online
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Timur's entry for the competition.
I made two videos, I was inspired by some license-free music tracks I found online.
## Command Variations
I did some trial and error changing various different settings for the deep music visualizer and combining it with animal as well as spacecraft image libraries.
### Competition Entry 1
```bash
python visualize.py --song 8-bit_game_theme.wav --resolution 512 --duration 30 --pitch_sensitivity 240 --tempo_sensitivity 0.3 --depth 0.9 --num_classes 1 --classes 812 --sort_classes_by_power 1 --jitter 0.65 --frame_length 512 --truncation 0.5 --smooth_factor 16 --batch_size 30 --use_previous_classes 0 --use_previous_vectors 0 --output_file 8bit_game_theme_video.mp4
```
{{<video "timur-1">}}
### Competition Entry 2
```bash
python visualize.py --song lo-fi_guitar.wav --resolution 512 --duration 30 --pitch_sensitivity 250 --tempo_sensitivity 0.45 --depth 0.75 --num_classes 6 --sort_classes_by_power 1 --jitter 0.75 --frame_length 512 --truncation 0.8 --smooth_factor 22 --batch_size 30 --use_previous_classes 0 --use_previous_vectors 0 --output_file lo-fi_guitar_video.mp4
```
---
title: Timur's Visualization
subtitle: Inspired by some music I found online
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Timur's entry for the competition.
I made two videos, I was inspired by some license-free music tracks I found online.
## Command Variations
I did some trial and error changing various different settings for the deep music visualizer and combining it with animal as well as spacecraft image libraries.
### Competition Entry 1
```bash
python visualize.py --song 8-bit_game_theme.wav --resolution 512 --duration 30 --pitch_sensitivity 240 --tempo_sensitivity 0.3 --depth 0.9 --num_classes 1 --classes 812 --sort_classes_by_power 1 --jitter 0.65 --frame_length 512 --truncation 0.5 --smooth_factor 16 --batch_size 30 --use_previous_classes 0 --use_previous_vectors 0 --output_file 8bit_game_theme_video.mp4
```
{{<video "timur-1">}}
### Competition Entry 2
```bash
python visualize.py --song lo-fi_guitar.wav --resolution 512 --duration 30 --pitch_sensitivity 250 --tempo_sensitivity 0.45 --depth 0.75 --num_classes 6 --sort_classes_by_power 1 --jitter 0.75 --frame_length 512 --truncation 0.8 --smooth_factor 22 --batch_size 30 --use_previous_classes 0 --use_previous_vectors 0 --output_file lo-fi_guitar_video.mp4
```
{{<video "timur-2">}}

View file

@ -1,18 +1,18 @@
---
title: Yanran's Visualization
subtitle: Inspired by an Opera in Shanghai
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --duration 43 --depth 0.5 \
--batch_size 4 --pitch_sensitivity 220 \
--tempo_sensitivity 0.07 --num_classes 8 --frame_length 1024 \
--truncation 0.1 --smooth_factor 40 --jitter 0.2 \
--output_file `video file`
```
---
title: Yanran's Visualization
subtitle: Inspired by an Opera in Shanghai
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --duration 43 --depth 0.5 \
--batch_size 4 --pitch_sensitivity 220 \
--tempo_sensitivity 0.07 --num_classes 8 --frame_length 1024 \
--truncation 0.1 --smooth_factor 40 --jitter 0.2 \
--output_file `video file`
```
{{<video "yanran">}}

View file

@ -1,26 +1,26 @@
---
title: Yasmin's Visualization
subtitle: Inspired by my Special dates and childhood favorite song
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Yasmin's entry for the competition.
I made this video, I was inspired by one of my childhood favorite songs _Dessert Rose_ in Egypt.
## Command Variations
I tried different things, I run out of memory and i tried to change the batch size to get it work.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 4 --duration 60 \
--resolution 512 --pitch_sensitivity 220 --jitter 1 \
--classes 169 662 199 234 197 23 19 21 40 200 10 1 \
--output_file `video file`
```
{{<video "yasmin">}}
---
title: Yasmin's Visualization
subtitle: Inspired by my Special dates and childhood favorite song
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Yasmin's entry for the competition.
I made this video, I was inspired by one of my childhood favorite songs _Dessert Rose_ in Egypt.
## Command Variations
I tried different things, I run out of memory and i tried to change the batch size to get it work.
### Competition Entry
```bash
python `visualize.py` --song `song file` --batch_size 4 --duration 60 \
--resolution 512 --pitch_sensitivity 220 --jitter 1 \
--classes 169 662 199 234 197 23 19 21 40 200 10 1 \
--output_file `video file`
```
{{<video "yasmin">}}

View file

@ -1,25 +1,25 @@
---
title: Ali zargham's Visualization
subtitle: Inspired by romantic guitar of sub-continent
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ali's entry for the competition.
## Command Variations
I tried different things, I changed the music audio to be a romantic music. I made one videos, I was inspired by the romantic music in the sub-continent.Traditionally musical traditions have been passed on orally and musical skills have often been taught from father to son or teacher to pupil. Students pay respect to their instructors by kissing their feet. The relationship between teachers (known as pandits and gurus among Hindus and ustaad among Muslims) and their pupils is very important in Indian music. Teachers and pupils are often related, and the spiritual element of the instrument is often as important as technical virtuosity. In northern India, the spiritual relationship is symbolized by a ceremony in which a teachers ties a string around the wrist of a pupil
### Competition Entry 1
```bash
python 'visualize.py'
--song 'romantic_guitar.wav'
--output_file 'romantic-music.mp4'
--batch_size 4
```
{{<video "ali">}}
---
title: Ali zargham's Visualization
subtitle: Inspired by romantic guitar of sub-continent
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Ali's entry for the competition.
## Command Variations
I tried different things, I changed the music audio to be a romantic music. I made one videos, I was inspired by the romantic music in the sub-continent.Traditionally musical traditions have been passed on orally and musical skills have often been taught from father to son or teacher to pupil. Students pay respect to their instructors by kissing their feet. The relationship between teachers (known as pandits and gurus among Hindus and ustaad among Muslims) and their pupils is very important in Indian music. Teachers and pupils are often related, and the spiritual element of the instrument is often as important as technical virtuosity. In northern India, the spiritual relationship is symbolized by a ceremony in which a teachers ties a string around the wrist of a pupil
### Competition Entry 1
```bash
python 'visualize.py'
--song 'romantic_guitar.wav'
--output_file 'romantic-music.mp4'
--batch_size 4
```
{{<video "ali">}}

View file

@ -1,25 +1,25 @@
---
title: Radwa's Visualization
subtitle: Inspired by Classic Egyptian Music
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Radwa's entry for the competition.
I made a video inspired by Egyptian classical composer called Omar Khairat.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
---
title: Radwa's Visualization
subtitle: Inspired by Classic Egyptian Music
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Radwa's entry for the competition.
I made a video inspired by Egyptian classical composer called Omar Khairat.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "radwa">}}

View file

@ -1,26 +1,26 @@
---
title: Beyza's Visualization
subtitle: Inspired by travelling
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orwa's entry for the competition.
I made one video, I was inspired by the song called taro. This song usually reminds me of travelling.
## Command Variations
I tried different things, but as I changed things get less interesting. I havent created a note for the classes I used, I picked random numbers sequentials. I have other videos as well, one with birds and other with dos but haven´t uploaded.
### Competition Entry
```bash
python `visualize.py` --song `taro.wav` --batch_size 4\
--resolution 512 --jitter 0.7 \
--classes \
--output_file `video file`
```
{{<video "beyzanur">}}
---
title: Beyza's Visualization
subtitle: Inspired by travelling
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orwa's entry for the competition.
I made one video, I was inspired by the song called taro. This song usually reminds me of travelling.
## Command Variations
I tried different things, but as I changed things get less interesting. I havent created a note for the classes I used, I picked random numbers sequentials. I have other videos as well, one with birds and other with dos but haven´t uploaded.
### Competition Entry
```bash
python `visualize.py` --song `taro.wav` --batch_size 4\
--resolution 512 --jitter 0.7 \
--classes \
--output_file `video file`
```
{{<video "beyzanur">}}

View file

@ -1,20 +1,20 @@
---
title: Makwana's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Makwana's entry for the competition.
## Command Variations
I tried simple thing.
### Competition Entry 1
```bash
python visualize.py --song beethoven.mp3 --resolution 128 --output_file `video file`
```
---
title: Makwana's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Makwana's entry for the competition.
## Command Variations
I tried simple thing.
### Competition Entry 1
```bash
python visualize.py --song beethoven.mp3 --resolution 128 --output_file `video file`
```
{{<video "makwana">}}

View file

@ -1,35 +1,35 @@
---
title: saeed's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orwa's entry for the competition.
I made three videos, I was inspired by the type of music I heard in the _Soulfully Yours_ parties in Holland.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "saeed-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --batch_size 3 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--resolution 512 --jitter 1 --output_file `video file`
```
---
title: saeed's Visualization
subtitle: Inspired by my Dutch party visitations in Sittard
date: 2021-12-01
tags: ["music-visualizer", "competition"]
---
This is Orwa's entry for the competition.
I made three videos, I was inspired by the type of music I heard in the _Soulfully Yours_ parties in Holland.
## Command Variations
I tried different things, the tempo command seems to help me achieve what I wanted to achieve because of this and that.
### Competition Entry 1
```bash
python `visualize.py` --song `song file` --batch_size 3 --duration 25 \
--resolution 256 --pitch_sensitivity 290 --jitter 1 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--output_file `video file`
```
{{<video "saeed-1">}}
### Competition Entry 2
```bash
python `visualize.py` --song `song file` --batch_size 3 \
--classes 847 483 668 724 652 413 269 403 319 353 603 354 \
--resolution 512 --jitter 1 --output_file `video file`
```
{{<video "saeed-2">}}

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 505 KiB

After

Width:  |  Height:  |  Size: 511 KiB

View file

@ -0,0 +1,4 @@
{{ .RelPermalink }} > /that-page/
{{ with .OutputFormats.Get "json" -}}
{{ .RelPermalink }} > /that-page/index.json
{{- end }}

View file

@ -1,6 +1,6 @@
{{ if $.Get 0 }}
<video width="100%" controls>
<source src="/video/{{ $.Get 0 }}.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
{{ end }}
{{ if $.Get 0 }}
<video width="100%" controls>
<source src="/video/{{ $.Get 0 }}.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
{{ end }}

View file

@ -1,3 +1,3 @@
start "" http://localhost:1313/deep-music-visualizer-showdown/
bin\hugo server
pause
start "" http://localhost:1313/deep-music-visualizer-showdown/
bin\hugo server
pause

View file

@ -1,80 +1,80 @@
<!-- This file is the homepage of the website. -->
<!DOCTYPE html>
<html>
<head>
<!--
This section just sets up some metadata for the website.
It probably does not need to be changed.
-->
<meta charset="utf-8">
<base href="{{ .Site.BaseURL }}">
<title>{{ .Site.Title }}</title>
<link rel="canonical" href="{{ .Permalink }}">
<link href="{{ .RSSlink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
{{ partial "head_includes.html" . }}
</head>
<body class="theme-base-08" lang="en">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/" title="Home">Home</a>
</h3>
</div>
</div>
<!--
This section contains the content of our home page.
I have broken it into three main sections:
(1) about the blog
(2) about me
(3) Recent posts
The first two sections are pretty self explanatory.
In the recent posts section we ask Hugo to use the template found in
/layouts/posts/summary.html to show a summary of the 10 most recent
posts we have made.
-->
<div class="container content">
<h1>This is a Blog made by Hugo</h1>
<p class="lead"> Welcome to my blog! </p>
<p>This is really just a bare-bone website to stand as a template for
creating a blog that is statically generated by <a href="https://gohugo.io">Hugo</a>
and hosted on GitLab via <a href="https://pages.gitlab.io">GitLab Pages</a>.</p>
<p>It's using a slightly modified version of the <a href="http://lanyon.getpoole.com">Lanyon</a>
Jekyll theme.</p>
<!-- About me subsection -->
<h2>About me</h2>
<p>Sometimes people have an "About me" section on the homepage of their website.</p>
<!-- Recent Posts section -->
<h1 class="post-title">Recent Posts</h1>
<section id="main">
<ul id="list">
{{ range first 10 .Data.Pages }}
{{ .Render "summary"}}
{{ end }}
</ul>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
{{ partial "footer.html" . }}
<!-- This file is the homepage of the website. -->
<!DOCTYPE html>
<html>
<head>
<!--
This section just sets up some metadata for the website.
It probably does not need to be changed.
-->
<meta charset="utf-8">
<base href="{{ .Site.BaseURL }}">
<title>{{ .Site.Title }}</title>
<link rel="canonical" href="{{ .Permalink }}">
<link href="{{ .RSSlink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
{{ partial "head_includes.html" . }}
</head>
<body class="theme-base-08" lang="en">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/" title="Home">Home</a>
</h3>
</div>
</div>
<!--
This section contains the content of our home page.
I have broken it into three main sections:
(1) about the blog
(2) about me
(3) Recent posts
The first two sections are pretty self explanatory.
In the recent posts section we ask Hugo to use the template found in
/layouts/posts/summary.html to show a summary of the 10 most recent
posts we have made.
-->
<div class="container content">
<h1>This is a Blog made by Hugo</h1>
<p class="lead"> Welcome to my blog! </p>
<p>This is really just a bare-bone website to stand as a template for
creating a blog that is statically generated by <a href="https://gohugo.io">Hugo</a>
and hosted on GitLab via <a href="https://pages.gitlab.io">GitLab Pages</a>.</p>
<p>It's using a slightly modified version of the <a href="http://lanyon.getpoole.com">Lanyon</a>
Jekyll theme.</p>
<!-- About me subsection -->
<h2>About me</h2>
<p>Sometimes people have an "About me" section on the homepage of their website.</p>
<!-- Recent Posts section -->
<h1 class="post-title">Recent Posts</h1>
<section id="main">
<ul id="list">
{{ range first 10 .Data.Pages }}
{{ .Render "summary"}}
{{ end }}
</ul>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
{{ partial "footer.html" . }}

View file

@ -1,56 +1,56 @@
<!--
This file is used to render a list of all posts that belong to a specific
category.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!--
Taken from Lanyon example site.
Putting everything in the wrap div makes the whole page slide over when the
navigation button is pressed.
The masthead is a special Lanyon class that is above the horizontal line at
the top of each page. To me it seemed like a place to put the page title.
We want the title to be Blog Posts and we want it to be a link to the
root of the /posts section of the site.
-->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!-- Show summary of all posts in a category -->
<div class="container content">
<h1 class="post-title">Recent Posts</h1>
<section id="main">
<div>
<h5><a href="/categories">Full Category Index</a></h5>
<h2>Posts in &ldquo;{{ .Title }}&rdquo;</h2>
{{ range .Data.Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is used to render a list of all posts that belong to a specific
category.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!--
Taken from Lanyon example site.
Putting everything in the wrap div makes the whole page slide over when the
navigation button is pressed.
The masthead is a special Lanyon class that is above the horizontal line at
the top of each page. To me it seemed like a place to put the page title.
We want the title to be Blog Posts and we want it to be a link to the
root of the /posts section of the site.
-->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!-- Show summary of all posts in a category -->
<div class="container content">
<h1 class="post-title">Recent Posts</h1>
<section id="main">
<div>
<h5><a href="/categories">Full Category Index</a></h5>
<h2>Posts in &ldquo;{{ .Title }}&rdquo;</h2>
{{ range .Data.Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}

View file

@ -1,52 +1,52 @@
<!--
This file is used to generate the root file of a Hugo index.
In our case this is only the index for categories, so it will render the
page baseurl/categories
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we instruct Hugo to list all the different items in the
index. Because we only have an index for categories, each item will be
a category name. The name is a link to a page that displays all posts in
that category.
We also list the number of entries in each category in parenthesis next
to the category name.
-->
<div class="container content">
<section id="main">
<div>
<h1>Archive of Posts, by {{ .Data.Singular }}</h1>
<ul class="category">
{{ $data := .Data }}
{{ range $key,$value := .Data.Index.ByCount }}
<li><a href="/{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> ({{ $value.Count }} entries) </li>
{{ end }}
</ul>
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is used to generate the root file of a Hugo index.
In our case this is only the index for categories, so it will render the
page baseurl/categories
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we instruct Hugo to list all the different items in the
index. Because we only have an index for categories, each item will be
a category name. The name is a link to a page that displays all posts in
that category.
We also list the number of entries in each category in parenthesis next
to the category name.
-->
<div class="container content">
<section id="main">
<div>
<h1>Archive of Posts, by {{ .Data.Singular }}</h1>
<ul class="category">
{{ $data := .Data }}
{{ range $key,$value := .Data.Index.ByCount }}
<li><a href="/{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> ({{ $value.Count }} entries) </li>
{{ end }}
</ul>
</div>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}

View file

@ -1,46 +1,46 @@
<!--
This file is used to render a list of all posts on our blog.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we have Hugo generate a list of all blog posts, ordered
by date.
When showing each post we ask Hugo to use the template in
/layouts/posts/li.html to provide a short description of each post.
-->
<div class="container content">
<p>Here are all my blog posts, in descending order by creation date. If you would like to view them by topic, see the <a href="/categories">Categories</a> page.</p>
<h1 class="post-title">All Blog Posts (By Date)</h1>
<section id="main">
<ul id="list">
{{ range .Data.Pages }}
{{ .Render "li"}}
{{ end }}
</ul>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is used to render a list of all posts on our blog.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
In this section we have Hugo generate a list of all blog posts, ordered
by date.
When showing each post we ask Hugo to use the template in
/layouts/posts/li.html to provide a short description of each post.
-->
<div class="container content">
<p>Here are all my blog posts, in descending order by creation date. If you would like to view them by topic, see the <a href="/categories">Categories</a> page.</p>
<h1 class="post-title">All Blog Posts (By Date)</h1>
<section id="main">
<ul id="list">
{{ range .Data.Pages }}
{{ .Render "li"}}
{{ end }}
</ul>
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<!-- Include footer (ends <body> and <html>) -->
{{ partial "footer.html" }}

View file

@ -1,12 +1,12 @@
<!--
This file is a template that is included various places to have a list of
that particular posts categories generated.
-->
<div class="container">
<ul class="catlist">
<li><em>Categories: </em></li>
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</div>
<!--
This file is a template that is included various places to have a list of
that particular posts categories generated.
-->
<div class="container">
<ul class="catlist">
<li><em>Categories: </em></li>
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</div>

View file

@ -1,27 +1,27 @@
<!--
This is the main footer for the website. It is included on every page.
It is very basic. It has some text and a link back to the home page of the
site.
It includes the google analytics template from /layouts/chrome/ga.html
It also closes the <body> and <html> tags for each page.
-->
<div class="container content">
<footer>
<div>
<p class="right credit">
Fancy footer here. Link to <a href="/">Home Page</a>
</p>
</div>
</footer>
</div>
<!--
{{ partial "ga.html" . }}
-->
</body>
</html>
<!--
This is the main footer for the website. It is included on every page.
It is very basic. It has some text and a link back to the home page of the
site.
It includes the google analytics template from /layouts/chrome/ga.html
It also closes the <body> and <html> tags for each page.
-->
<div class="container content">
<footer>
<div>
<p class="right credit">
Fancy footer here. Link to <a href="/">Home Page</a>
</p>
</div>
</footer>
</div>
<!--
{{ partial "ga.html" . }}
-->
</body>
</html>

View file

@ -1,17 +1,17 @@
<!--
This file contains the necessary information for google analytics to track
visitors and their behavior on my website.
This is specific to this website and will need to be changed for any other
site
-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-36732392-2', 'sglyon.com');
ga('send', 'pageview');
</script>
<!--
This file contains the necessary information for google analytics to track
visitors and their behavior on my website.
This is specific to this website and will need to be changed for any other
site
-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-36732392-2', 'sglyon.com');
ga('send', 'pageview');
</script>

View file

@ -1,13 +1,13 @@
<!--
This file simply includes all the css and fonts that should go into the
header of each page.
It is separate from the rest of the header because the actual header for the
homepage of the site is different, but we want every page of the site
(including the homepage) to have the same assets.
-->
<link rel="stylesheet" href="/css/poole.css">
<link rel="stylesheet" href="/css/syntax.css">
<link rel="stylesheet" href="/css/lanyon.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700|PT+Sans:400">
<!--
This file simply includes all the css and fonts that should go into the
header of each page.
It is separate from the rest of the header because the actual header for the
homepage of the site is different, but we want every page of the site
(including the homepage) to have the same assets.
-->
<link rel="stylesheet" href="/css/poole.css">
<link rel="stylesheet" href="/css/syntax.css">
<link rel="stylesheet" href="/css/lanyon.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700|PT+Sans:400">

View file

@ -1,16 +1,16 @@
<!--
This is the actual header for each page of the site except the homepage.
It simply shows the title of the page and includes the css/fonts found in
/layouts/chrome/header.html
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<base href="{{ .Site.BaseURL }}">
<title> {{ .Title }} </title>
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "head_includes.html" . }}
</head>
<!--
This is the actual header for each page of the site except the homepage.
It simply shows the title of the page and includes the css/fonts found in
/layouts/chrome/header.html
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<base href="{{ .Site.BaseURL }}">
<title> {{ .Title }} </title>
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "head_includes.html" . }}
</head>

View file

@ -1,29 +1,29 @@
<!--
This is a helper file that adds previous and next links to the bottom of each
blog post. (below next and previous refer to chronological next and previous)
It will check to see if there is a previous blog post. If is, it will print
an arrow as well as the title of the previous post as a link as
left-justified text.
It will then check for a next blog post. If there is one it prints the title
of the next post with a right arrow as right justified text on the same line.
If there is ever not a next or previous post, it does nothing.
-->
<div class="container">
<hr />
<hr />
{{if .Prev}}
<span class="left">
&nbsp; <em>&laquo; Previous:</em> <a class="next" href="{{.Prev.Permalink}}">{{.Prev.Title}}</a>
</span>
{{end}}
{{if .Next}}
<span class="right">
<em>Next: </em><a class="next" href="{{.Next.Permalink}}"> &nbsp; {{ .Next.Title }}</a> &raquo;
</span>
{{end}}
</div>
<!--
This is a helper file that adds previous and next links to the bottom of each
blog post. (below next and previous refer to chronological next and previous)
It will check to see if there is a previous blog post. If is, it will print
an arrow as well as the title of the previous post as a link as
left-justified text.
It will then check for a next blog post. If there is one it prints the title
of the next post with a right arrow as right justified text on the same line.
If there is ever not a next or previous post, it does nothing.
-->
<div class="container">
<hr />
<hr />
{{if .Prev}}
<span class="left">
&nbsp; <em>&laquo; Previous:</em> <a class="next" href="{{.Prev.Permalink}}">{{.Prev.Title}}</a>
</span>
{{end}}
{{if .Next}}
<span class="right">
<em>Next: </em><a class="next" href="{{.Next.Permalink}}"> &nbsp; {{ .Next.Title }}</a> &raquo;
</span>
{{end}}
</div>

View file

@ -1,29 +1,29 @@
<!--
This file defines the main sidebar that the user can toggle in and out of
view. This is included in every file.
Most of this was taken directly from the Lanyon example site.
Here we simply include a link to the homepage, a link to the blog posts,
and some copyright information.
-->
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
styles, `#sidebar-checkbox` for behavior. -->
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
<!-- Toggleable sidebar -->
<div class="sidebar" id="sidebar">
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Home</a>
<a class="sidebar-nav-item" href="/posts">Blog</a>
</nav>
<div class="sidebar-item">
<p>
&copy; 2014 Spencer Lyon. Powered by <a href="https://gohugo.io">Hugo</a>. Design adapted from <a href="http://lanyon.getpoole.com">Lanyon</a>.
</p>
</div>
</div>
<!--
This file defines the main sidebar that the user can toggle in and out of
view. This is included in every file.
Most of this was taken directly from the Lanyon example site.
Here we simply include a link to the homepage, a link to the blog posts,
and some copyright information.
-->
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
styles, `#sidebar-checkbox` for behavior. -->
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
<!-- Toggleable sidebar -->
<div class="sidebar" id="sidebar">
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Home</a>
<a class="sidebar-nav-item" href="/posts">Blog</a>
</nav>
<div class="sidebar-item">
<p>
&copy; 2014 Spencer Lyon. Powered by <a href="https://gohugo.io">Hugo</a>. Design adapted from <a href="http://lanyon.getpoole.com">Lanyon</a>.
</p>
</div>
</div>

View file

@ -1,26 +1,26 @@
<!--
This file defines how a summary of a specifc post should be presented in a
list (hence the file name li.html for "list item"). This is used in the
template /layouts/indexes/posts.html
The lines of the displayed list item are as follows:
(1) The name of the post
(2) The date the post was written as left-justified text and a
right-justified horizontal list of categories for that post.
(3) The contents of the description field in the metadata of the actual
markdown source of the post.
-->
<li>
<span><h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2></span>
<span class="left">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
<span class="right">
<ul class="catlist">
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</span>
<br />
{{ .Description }}
</li>
<!--
This file defines how a summary of a specifc post should be presented in a
list (hence the file name li.html for "list item"). This is used in the
template /layouts/indexes/posts.html
The lines of the displayed list item are as follows:
(1) The name of the post
(2) The date the post was written as left-justified text and a
right-justified horizontal list of categories for that post.
(3) The contents of the description field in the metadata of the actual
markdown source of the post.
-->
<li>
<span><h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2></span>
<span class="left">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
<span class="right">
<ul class="catlist">
{{ range .Params.categories }}
<li><a href="/categories/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</span>
<br />
{{ .Description }}
</li>

View file

@ -1,51 +1,51 @@
<!--
This file is responsible for rendering a single blog post.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
This is where the actual post is displayed.
We first access the title metadata field from the markdown source and
display it as a heading.
We then access the date the post was written (also in the markdown
metadata) and display a formated version of it
Finally we include the actual content of the post.
-->
<div class="container content">
<h1 class="post-title">{{ .Title }}</h1>
<section id="main">
<h5 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h5>
{{ .Content }}
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
{{ partial "prev_next.html" . }}
<br />
{{ partial "categories.html" . }}
<!-- Include footer (ends <body class="theme-base-08"> and <html>) -->
{{ partial "footer.html" }}
<!--
This file is responsible for rendering a single blog post.
-->
{{ partial "header.html" . }}
<body class="theme-base-08">
{{ partial "sidebar.html" . }}
<!-- See /layouts/indexes/category.html for explanation of this section -->
<div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="/posts" title="Blog">Blog Posts</a>
</h3>
</div>
</div>
<!--
This is where the actual post is displayed.
We first access the title metadata field from the markdown source and
display it as a heading.
We then access the date the post was written (also in the markdown
metadata) and display a formated version of it
Finally we include the actual content of the post.
-->
<div class="container content">
<h1 class="post-title">{{ .Title }}</h1>
<section id="main">
<h5 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h5>
{{ .Content }}
</section>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
{{ partial "prev_next.html" . }}
<br />
{{ partial "categories.html" . }}
<!-- Include footer (ends <body class="theme-base-08"> and <html>) -->
{{ partial "footer.html" }}

View file

@ -1,24 +1,24 @@
<!--
This file defines how a summary of a specifc post should be presented. This
is similar to the file /layouts/posts/li.html, but is meant have a bit longer
of a representation than the one in that file.
This template does the following:
(1) Shows the name of the post
(2) Shows the date the post was created (from metadata in post markdown
source)
(3) Displays a Hugo-generated summary of the post
(4) Provides a link with text Read More that points to the post
-->
<article class="post">
<header>
<h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2>
<div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
</header>
{{ .Summary }}
<footer>
<a href='{{ .Permalink }}'><nobr>Read more →</nobr></a>
</footer>
</article>
<!--
This file defines how a summary of a specifc post should be presented. This
is similar to the file /layouts/posts/li.html, but is meant have a bit longer
of a representation than the one in that file.
This template does the following:
(1) Shows the name of the post
(2) Shows the date the post was created (from metadata in post markdown
source)
(3) Displays a Hugo-generated summary of the post
(4) Provides a link with text Read More that points to the post
-->
<article class="post">
<header>
<h2><a href='{{ .Permalink }}'> {{ .Title }}</a> </h2>
<div class="meta">{{ .Date.Format "Mon, Jan 2, 2006" }}</div>
</header>
{{ .Summary }}
<footer>
<a href='{{ .Permalink }}'><nobr>Read more →</nobr></a>
</footer>
</article>

File diff suppressed because it is too large Load diff

View file

@ -1,396 +1,396 @@
/*
* ___
* /\_ \
* _____ ___ ___\//\ \ __
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
* \ \ ,__/\ \____/\ \____//\____\ \____\
* \ \ \/ \/___/ \/___/ \/____/\/____/
* \ \_\
* \/_/
*
* Designed, built, and released under MIT license by @mdo. Learn more at
* https://github.com/poole/poole.
*/
/*
* Contents
*
* Body resets
* Custom type
* Messages
* Container
* Masthead
* Posts and pages
* Reverse layout
* Themes
*/
/*
* Body resets
*
* Update the foundational and global aspects of the page.
*/
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
}
html {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
}
@media (min-width: 38rem) {
html {
font-size: 20px;
}
}
body {
color: #515151;
background-color: #fff;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
/* No `:visited` state is required by default (browsers will use `a`) */
a {
color: #268bd2;
text-decoration: none;
}
/* `:focus` is linked to `:hover` for basic accessibility */
a:hover,
a:focus {
text-decoration: underline;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
margin-bottom: .5rem;
font-weight: bold;
line-height: 1.25;
color: #313131;
text-rendering: optimizeLegibility;
}
h1 {
font-size: 2rem;
}
h2 {
margin-top: 1rem;
font-size: 1.5rem;
}
h3 {
margin-top: 1.5rem;
font-size: 1.25rem;
}
h4, h5, h6 {
font-family: "ff-meta-web-pro", "Helvetica Neue", "Helvetica", Arial, sans-serif;
margin-top: 1rem;
font-size: 1rem;
}
/* Body text */
p {
margin-top: 0;
margin-bottom: 1rem;
}
strong {
color: #303030;
}
/* Lists */
ul, ol, dl {
margin-top: 0;
padding-left: 0;
margin-bottom: 1rem;
list-style-type: none;
}
dt {
font-weight: bold;
}
dd {
margin-bottom: .5rem;
}
/* Misc */
hr {
position: relative;
margin: 1.5rem 0;
border: 0;
border-top: 1px solid #eee;
border-bottom: 1px solid #fff;
}
abbr {
font-size: 85%;
font-weight: bold;
color: #555;
text-transform: uppercase;
}
abbr[title] {
cursor: help;
border-bottom: 1px dotted #e5e5e5;
}
mono, tt, code, pre {
font-family: PragmataPro, Menlo, Monaco, "Andale Mono", "Lucida Console", "Courier New", monospace }
code {
padding: .25em .5em;
font-size: 85%;
color: #bf616a;
background-color: #f9f9f9;
border-radius: 3px;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
padding: 1rem;
font-size: .8rem;
line-height: 1.4;
white-space: pre;
overflow: auto;
background-color: #f9f9f9;
}
pre code {
padding: 0;
font-size: 100%;
color: inherit;
background-color: transparent;
}
.highlight {
margin-bottom: 1rem;
border-radius: 4px;
}
.highlight pre {
margin-bottom: 0;
}
/* Quotes */
blockquote {
padding: .5rem 1rem;
margin: .8rem 0;
color: #7a7a7a;
border-left: .25rem solid #e5e5e5;
}
blockquote p:last-child {
margin-bottom: 0;
}
@media (min-width: 30rem) {
blockquote {
padding-right: 5rem;
padding-left: 1.25rem;
}
}
img {
display: block;
margin: 0 0 1rem;
border-radius: 5px;
height: auto;
width:100%;
}
.fpimg {
padding-bottom: 2rem;
}
.lbg {
display: inline;
width: auto;
padding-left: 1rem;
}
.right {
float: right;
margin-left: 1rem;
}
.left {
float: left;
margin-right: 1rem;
}
.center {
float: center;
}
/* Tables */
table {
margin-bottom: 1rem;
width: 100%;
border-top: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
border-collapse: collapse;
}
td,
th {
padding: .25rem .5rem;
/* border: 1px solid #e5e5e5; */
}
tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
}
/*
* Custom type
*
* Extend paragraphs with `.lead` for larger introductory text.
*/
.lead {
font-size: 1.25rem;
font-weight: 300;
}
.front {
margin-bottom: 500px;
}
.credit {
padding-top: 3rem;
font-size: small;
}
ul.category {text-transform: capitalize;}
ul.category li {margin-bottom: 1rem;}
ul.catlist { list-style: none; margin: 0; padding: 0; }
ul.catlist li { display: inline; }
ul.catlist li:after { content: "・"; }
ul.catlist li:last-child:after { content: ""; }
/* This gets Google to fall into place */
.social {
font-size: 1px;
padding-bottom: 2rem;
padding-top: 0;
}
/* From https://gist.github.com/thebigreason/1296097 */
/* This gets Facebook to fall into place */
.social iframe {
vertical-align: bottom;
}
/* Set an optional width for your button wrappers */
.social span {
display: inline-block;
width: 110px;
}
/*
* Messages
*
* Show alert messages to users. You may add it to single elements like a `<p>`,
* or to a parent if there are multiple elements to show.
*/
.message {
margin-bottom: 1rem;
padding: 1rem;
color: #717171;
background-color: #f9f9f9;
}
/*
* Container
*
* Center the page content.
*/
.container {
max-width: 38rem;
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
margin-right: auto;
}
/*
* Masthead
*
* Super small header above the content for site name and short description.
*/
.masthead {
padding-top: 1rem;
padding-bottom: 1rem;
margin-bottom: 3rem;
}
.masthead-title {
margin-top: 0;
margin-bottom: 0;
color: #505050;
}
.masthead-title a {
color: #505050;
}
.masthead-title small {
font-size: 75%;
font-weight: 400;
color: #c0c0c0;
letter-spacing: 0;
}
/*
* Posts and pages
*
* Each post is wrapped in `.post` and is used on default and post layouts. Each
* page is wrapped in `.page` and is only used on the page layout.
*/
.page,
.post {
margin-bottom: 4em;
}
/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
color: #303030;
}
.page-title,
.post-title {
margin-top: 0;
}
/* Meta data line below post title */
.post-date {
display: block;
margin-top: -.5rem;
margin-bottom: 1rem;
color: #9a9a9a;
}
/* Archive list */
.archive h3 {
margin-top:0;
padding-bottom: 0;
}
/*
* ___
* /\_ \
* _____ ___ ___\//\ \ __
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
* \ \ ,__/\ \____/\ \____//\____\ \____\
* \ \ \/ \/___/ \/___/ \/____/\/____/
* \ \_\
* \/_/
*
* Designed, built, and released under MIT license by @mdo. Learn more at
* https://github.com/poole/poole.
*/
/*
* Contents
*
* Body resets
* Custom type
* Messages
* Container
* Masthead
* Posts and pages
* Reverse layout
* Themes
*/
/*
* Body resets
*
* Update the foundational and global aspects of the page.
*/
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
}
html {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
}
@media (min-width: 38rem) {
html {
font-size: 20px;
}
}
body {
color: #515151;
background-color: #fff;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
/* No `:visited` state is required by default (browsers will use `a`) */
a {
color: #268bd2;
text-decoration: none;
}
/* `:focus` is linked to `:hover` for basic accessibility */
a:hover,
a:focus {
text-decoration: underline;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
margin-bottom: .5rem;
font-weight: bold;
line-height: 1.25;
color: #313131;
text-rendering: optimizeLegibility;
}
h1 {
font-size: 2rem;
}
h2 {
margin-top: 1rem;
font-size: 1.5rem;
}
h3 {
margin-top: 1.5rem;
font-size: 1.25rem;
}
h4, h5, h6 {
font-family: "ff-meta-web-pro", "Helvetica Neue", "Helvetica", Arial, sans-serif;
margin-top: 1rem;
font-size: 1rem;
}
/* Body text */
p {
margin-top: 0;
margin-bottom: 1rem;
}
strong {
color: #303030;
}
/* Lists */
ul, ol, dl {
margin-top: 0;
padding-left: 0;
margin-bottom: 1rem;
list-style-type: none;
}
dt {
font-weight: bold;
}
dd {
margin-bottom: .5rem;
}
/* Misc */
hr {
position: relative;
margin: 1.5rem 0;
border: 0;
border-top: 1px solid #eee;
border-bottom: 1px solid #fff;
}
abbr {
font-size: 85%;
font-weight: bold;
color: #555;
text-transform: uppercase;
}
abbr[title] {
cursor: help;
border-bottom: 1px dotted #e5e5e5;
}
mono, tt, code, pre {
font-family: PragmataPro, Menlo, Monaco, "Andale Mono", "Lucida Console", "Courier New", monospace }
code {
padding: .25em .5em;
font-size: 85%;
color: #bf616a;
background-color: #f9f9f9;
border-radius: 3px;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
padding: 1rem;
font-size: .8rem;
line-height: 1.4;
white-space: pre;
overflow: auto;
background-color: #f9f9f9;
}
pre code {
padding: 0;
font-size: 100%;
color: inherit;
background-color: transparent;
}
.highlight {
margin-bottom: 1rem;
border-radius: 4px;
}
.highlight pre {
margin-bottom: 0;
}
/* Quotes */
blockquote {
padding: .5rem 1rem;
margin: .8rem 0;
color: #7a7a7a;
border-left: .25rem solid #e5e5e5;
}
blockquote p:last-child {
margin-bottom: 0;
}
@media (min-width: 30rem) {
blockquote {
padding-right: 5rem;
padding-left: 1.25rem;
}
}
img {
display: block;
margin: 0 0 1rem;
border-radius: 5px;
height: auto;
width:100%;
}
.fpimg {
padding-bottom: 2rem;
}
.lbg {
display: inline;
width: auto;
padding-left: 1rem;
}
.right {
float: right;
margin-left: 1rem;
}
.left {
float: left;
margin-right: 1rem;
}
.center {
float: center;
}
/* Tables */
table {
margin-bottom: 1rem;
width: 100%;
border-top: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
border-collapse: collapse;
}
td,
th {
padding: .25rem .5rem;
/* border: 1px solid #e5e5e5; */
}
tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
}
/*
* Custom type
*
* Extend paragraphs with `.lead` for larger introductory text.
*/
.lead {
font-size: 1.25rem;
font-weight: 300;
}
.front {
margin-bottom: 500px;
}
.credit {
padding-top: 3rem;
font-size: small;
}
ul.category {text-transform: capitalize;}
ul.category li {margin-bottom: 1rem;}
ul.catlist { list-style: none; margin: 0; padding: 0; }
ul.catlist li { display: inline; }
ul.catlist li:after { content: "・"; }
ul.catlist li:last-child:after { content: ""; }
/* This gets Google to fall into place */
.social {
font-size: 1px;
padding-bottom: 2rem;
padding-top: 0;
}
/* From https://gist.github.com/thebigreason/1296097 */
/* This gets Facebook to fall into place */
.social iframe {
vertical-align: bottom;
}
/* Set an optional width for your button wrappers */
.social span {
display: inline-block;
width: 110px;
}
/*
* Messages
*
* Show alert messages to users. You may add it to single elements like a `<p>`,
* or to a parent if there are multiple elements to show.
*/
.message {
margin-bottom: 1rem;
padding: 1rem;
color: #717171;
background-color: #f9f9f9;
}
/*
* Container
*
* Center the page content.
*/
.container {
max-width: 38rem;
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
margin-right: auto;
}
/*
* Masthead
*
* Super small header above the content for site name and short description.
*/
.masthead {
padding-top: 1rem;
padding-bottom: 1rem;
margin-bottom: 3rem;
}
.masthead-title {
margin-top: 0;
margin-bottom: 0;
color: #505050;
}
.masthead-title a {
color: #505050;
}
.masthead-title small {
font-size: 75%;
font-weight: 400;
color: #c0c0c0;
letter-spacing: 0;
}
/*
* Posts and pages
*
* Each post is wrapped in `.post` and is used on default and post layouts. Each
* page is wrapped in `.page` and is only used on the page layout.
*/
.page,
.post {
margin-bottom: 4em;
}
/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
color: #303030;
}
.page-title,
.post-title {
margin-top: 0;
}
/* Meta data line below post title */
.post-date {
display: block;
margin-top: -.5rem;
margin-bottom: 1rem;
color: #9a9a9a;
}
/* Archive list */
.archive h3 {
margin-top:0;
padding-bottom: 0;
}

View file

@ -2,7 +2,7 @@
- id: dateFormat
translation: "January 2, 2006"
- id: postedOnDate
translation: "Posted on {{ .Count }}"
translation: "Posted on {{ . }}"
- id: translationsLabel
translation: "Other languages: "
- id: translationsSeparator

View file

@ -2,7 +2,7 @@
- id: dateFormat
translation: "2006年1月2日"
- id: postedOnDate
translation: "{{ .Count }}に投稿"
translation: "{{ . }}に投稿"
- id: translationsLabel
translation: "翻訳:"
- id: translationsSeparator

View file

@ -2,7 +2,7 @@
- id: dateFormat
translation: "Январь 2, 2006"
- id: postedOnDate
translation: "Опубликовано {{ .Count }}"
translation: "Опубликовано {{ . }}"
- id: translationsLabel
translation: "Другие языки: "
- id: translationsSeparator