Skip to content

Commit

Permalink
Merge pull request #3 from Firgrep/main
Browse files Browse the repository at this point in the history
Major: added to contributions pages and edited staging workflow
  • Loading branch information
Firgrep authored Oct 14, 2023
2 parents b6e07d3 + bf5ebdb commit ce50e09
Show file tree
Hide file tree
Showing 12 changed files with 248 additions and 13 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NEXT_PUBLIC_SITE_ROOT=""
7 changes: 4 additions & 3 deletions .github/workflows/staging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
deploy:
Expand All @@ -21,6 +18,10 @@ jobs:
with:
node-version: 18

- name: 'Create env file'
run: |
echo "${{ secrets.ENV_STAGING }}" > .env
- name: Install Dependencies
run: npm ci

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ If you'd like to be part of the development of sPhil, kindly follow the instruct

### Environmental Variables

2.0. There are no environmental variables! This is a static website.
2.0. There are no environmental variables! This is a static website. (Caveat: we defined some public variables depending on where the site is hosted.)

### Running the Server

Expand Down
13 changes: 12 additions & 1 deletion src/pages/-contributing/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,16 @@
},
"code-of-conduct": {
"title": "Code of Conduct"
}
},
"-- Philosophy": {
"type": "separator",
"title": "Philosophy"
},
"methodology": "",
"-- Code": {
"type": "separator",
"title": "Code"
},
"why-these-tools": "",
"github": ""
}
92 changes: 91 additions & 1 deletion src/pages/-contributing/code-of-conduct.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,94 @@
searchable: false
---

here be the code of conduct

# Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

We pledge to act in accordance with the tenets and guidelines set out in the [methodology](/-contributing/methodology) to the best of our ability to build _the_ resource for systematic philosophy on the internet, or improve upon it with our collaborators.

## Our Standards

Examples of behavior that contributes to a positive environment for our community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [this e-mail](mailto:logos@systemphil.com). All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of actions.

**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
30 changes: 30 additions & 0 deletions src/pages/-contributing/github.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
searchable: false
---

import { Card, Cards } from 'nextra/components'

# GitHub

<Cards>
<Card
icon={" 📄 "}
title="Conceptual Overview"
href="/-contributing/github/conceptual-overview"
/>
<Card
icon={""}
title="Placeholder"
href="/"
/>
<Card
icon={""}
title="Placeholder"
href="/"
/>
<Card
icon={""}
title="Placeholder"
href="/"
/>
</Cards>
60 changes: 60 additions & 0 deletions src/pages/-contributing/github/conceptual-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
searchable: false
---

# GitHub: Conceptual Overview

```mermaid
graph TD;
subgraph AA [Contributors]
A[User 1];
B[User 2];
C[user 3];
end
subgraph BB [Public]
E[www];
end
Z[GitHub Repository];
A --> Z;
B --> Z;
C --> Z;
Z --> E;
```

GitHub is a web-based platform designed to facilitate collaborative software development. It serves as a hub for developers to work together on coding projects, track changes, and manage their code repositories. At its core, GitHub uses a version control system called Git, which helps developers manage and track changes to their code.

One of the fundamental concepts on GitHub is forking. Forking allows a user to create a copy of a repository (a collection of code files and related resources) from another user or organization's GitHub account. This forked repository becomes an independent copy of the original, enabling contributors to make changes without affecting the original codebase. This is particularly useful for suggesting improvements, fixing bugs, or adding new features.

```mermaid
graph TD;
subgraph AA [User]
A[Forked Repository];
end
subgraph BB [sPhil]
B[sPhil Reposotory];
end
B --> A;
```

Once you've forked a repository, you can clone it to your local development environment, which means you download a copy of the code to your computer, or you can interact directly with the code through GitHub. From whichever of the two development environment you choose to work from, you can make changes to the code as needed, following the project's guidelines or your own ideas for improvements.

After making changes, you create a new branch within your forked repository. Branches are like separate lines of development that allow you to work on specific features or bug fixes without affecting the main codebase. Once you've finished making your changes in the branch, you can create a pull request (PR) to propose these changes to the original repository.

A pull request is a request to the original repository's owner to review and merge your changes into their codebase. It includes a description of the changes, and the repository owner and collaborators can discuss the proposed changes, make additional comments, or request further modifications. Pull requests serve as a vital collaboration tool, enabling team members to evaluate code and ensure that it meets quality standards.

```mermaid
graph TD;
subgraph AA [User]
A[Forked Repository];
B[Makes and Commits Edits];
end
subgraph BB [sPhil]
Z[sPhil Reposotory];
end
Z --> A;
A --> B;
B --> A;
A -->|Pull Request| Z;
```

If your pull request is approved and merged into the original repository, your contributions become part of the project, and others can benefit from your work. This collaborative workflow is central to GitHub's purpose, as it allows developers from around the world to work together, share knowledge, and collectively improve software projects. It also provides transparency and accountability in software development, making it easier for developers to track changes, understand the project's history, and maintain a high-quality codebase.
7 changes: 3 additions & 4 deletions src/pages/-contributing/index.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
overridingTitle: "Contributing"
description: "sPhil is open-source philosophy."
searchable: false
---

Expand Down Expand Up @@ -32,7 +31,7 @@ Whether you're a newcomer to philosophy or an experienced philosopher, our encyc

We use [GitHub](https://github.com/) to coordinate and edit both the philosophy and the code on sPhil. In fact, the contents of philosophy are directly written into the source code. To get started, you need a GitHub account. You can sign up [here](https://github.com/signup).

Next you'll need to make your way to the [sPhil code repository](https://github.com/Firgrep/sphil).
Next you'll need to make your way to the [sPhil code repository](https://github.com/systemphil/sphil).

<Callout type="info">
The contents of this particular guide is intended to get you ready to contribute as quickly as possible to the codebase on GitHub and will therefore have omitted explaining many concepts about that platform. If you feel like you need an overview of just what GitHub is and how it works, see our [conceptual overview]().
Expand Down Expand Up @@ -146,7 +145,7 @@ Further and more detailed information and the file structure and files will be p

To view the source code of articles on GitHub is a straightforward process and doesn't actually require a GitHub account! Below we've outlined how you might navigate to view the source code of a particular article.

1. Assuming you are in the [sPhil repository](https://github.com/Firgrep/sphil) landing page, click on the `src` directory. (When you click on a directory from the initial repository landing page, you will be taken to a different interface that allows you to view individual files as well as a map of the directories and files on your left).
1. Assuming you are in the [sPhil repository](https://github.com/systemphil/sphil) landing page, click on the `src` directory. (When you click on a directory from the initial repository landing page, you will be taken to a different interface that allows you to view individual files as well as a map of the directories and files on your left).
1. You should now be in a more work-convenient interface and there should be a menu with directories (`components`, `pages`, `styles`, `util`, etc.) in the main body of your page as well as an expanded tree of directories to your left. Use either one to navigate. Click on the `pages` directory.
1. You are now in the file structure outlined above. Everything in `/pages` directory concerns routing and content, and in this directory we find the miscellaneous pages. From here, you would to navigate to the philosophical system (or philosopher) of interest. Let's go to `hegel`.
1. You are now in the directory for a specific philosophical system (or philosopher) and will usually find the two `/guides` and `/reference` directories as well as a `_meta.json` and an `index.mdx` file that acts as a particular landing page. Let's continue to `reference`.
Expand Down Expand Up @@ -191,4 +190,4 @@ In this section we have briefly touched on the basics of using GitHub to create

## Contributing Code

Talk about how to code etc
If you're looking to get involved on the technical side of things, such as the functionality of the website or CI/CD pipelines, the best approach is to head straight to the [sPhil repository](https://github.com/systemphil/sphil) and start from the readme.
19 changes: 19 additions & 0 deletions src/pages/-contributing/methodology.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
searchable: false
---

# Methodology

## Spirit of the Method

The spirit of the method of *sPhil* is deep exegesis of a philosophical system in order to develop and expose a definitive and comprehensive account of its contents. This account is split along an axis that has two ends: on one extreme, is user-friendliness and making knowledge as welcoming and accessible as possible; the other extreme is technical depth and exhaustiveness, where knowledge often requires a highly specialized vocabulary and irregular syntax. Ideally, both of these poles would be achieved in concert but instead of compromising one for the other, we have decided to run with the intensity of each and let the reader be conduit of both. These two poles are called *Guides* and *Reference*, inspired by how software engineers build their technical documentation split between on-boarding of new users and the pure functionality of the system.

This does not, however, preclude overlap between the two poles and, indeed, some consideration is expected on the side of technical depth that the account should be readable, clear and well-structured just as on the side of introduction the matter should not be false or inaccurate.

## Exegesis First

The focus of *sPhil* accounts, whether they are in the Guides or Reference section, is on rendering the contents of a philosophical system explicit. There usually exists a vibrant scholarship around a philosophical system, and we invite contributors to make use of those wherever it is helpful or relevant, but we strongly encourage contributors to explicate the philosophy to the best of their ability rather than deferring that labor to someone else. In other words, the matter at hand should be explicated with only the primary source(s) to the best of one's ability before turning to second hand literature and scholarly disputations. This pattern is already widely used in *Wikipedia*, *The Stanford Encyclopaedia of Philosophy* and *nLab*, where a generic account is given first before turning to specifics and different interpretations, etc.

## Non-neutral Standpoint

We do not claim to keep or offer a neutral or non-commital view on a matter. In the realm of pure thinking, such a position cannot really be sustained since it is essentially pretending not to think. We do, however, aim to keep a self-critical and argued stance, where textual evidence is provided for a certain judgment or, where such evidence is lacking or unclear, a reasoned theory, and overall avoid untethered opinions. In other words, *sPhil* will not pretend to hold a view from nowhere but hold the best view developed through collaborative effort.
Loading

0 comments on commit ce50e09

Please sign in to comment.