This commit is contained in:
@@ -10,21 +10,20 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 20
|
node-version: 20
|
||||||
cache: 'npm' # Enables npm cache for faster installs
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: npm ci --legacy-peer-deps
|
||||||
npm ci --legacy-peer-deps
|
|
||||||
npm install cloudron-surfer # Install locally instead of globally
|
- name: Install surfer
|
||||||
|
run: npm install -g cloudron-surfer
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: npm run build
|
||||||
npm run build
|
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: |
|
run: surfer put --token ${{ secrets.SURFER_TOKEN }} --server datacontroller.io public/ /
|
||||||
npx surfer put --token ${{ secrets.SURFER_TOKEN }} --server datacontroller.io public/* /
|
|
||||||
@@ -1,26 +1,25 @@
|
|||||||
name: Gatsby Publish
|
name: Gatsby Publish
|
||||||
|
|
||||||
# on:
|
on:
|
||||||
# push:
|
push:
|
||||||
# branches: main
|
branches: main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [14.17.0]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js 20
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: 20
|
||||||
cache: npm
|
cache: npm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci --legacy-peer-deps
|
||||||
|
|
||||||
- name: Check prettier offences
|
- name: Check prettier offences
|
||||||
run: npm run lint
|
run: npm run lint
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
|
|||||||
`
|
`
|
||||||
{
|
{
|
||||||
allMarkdownRemark(
|
allMarkdownRemark(
|
||||||
sort: { fields: [frontmatter___date], order: DESC }
|
sort: { frontmatter: { date: DESC } }
|
||||||
limit: 1000
|
limit: 1000
|
||||||
filter: { fileAbsolutePath: { regex: "/content/blog/" } }
|
filter: { fileAbsolutePath: { regex: "/content/blog/" } }
|
||||||
) {
|
) {
|
||||||
@@ -35,7 +35,7 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tagsGroup: allMarkdownRemark(limit: 1000) {
|
tagsGroup: allMarkdownRemark(limit: 1000) {
|
||||||
group(field: frontmatter___tags) {
|
group(field: { frontmatter: { tags: SELECT } }) {
|
||||||
name: fieldValue
|
name: fieldValue
|
||||||
totalCount
|
totalCount
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-163
@@ -10,27 +10,6 @@ import {
|
|||||||
SectionDesc
|
SectionDesc
|
||||||
} from '../components/shared/styledComponents'
|
} from '../components/shared/styledComponents'
|
||||||
|
|
||||||
import {
|
|
||||||
Card,
|
|
||||||
CardImg,
|
|
||||||
CardBody,
|
|
||||||
FeaturedImg,
|
|
||||||
FeaturedDesc
|
|
||||||
} from '../styledComponents/about'
|
|
||||||
|
|
||||||
import sasenseiLogo from '../images/sasapps/sasensei.png'
|
|
||||||
import rubyLogo from '../images/sasapps/ruby.png'
|
|
||||||
import pygrailLogo from '../images/sasapps/pygrail.png'
|
|
||||||
import pilotLogo from '../images/sasapps/pilot.png'
|
|
||||||
import yogaLogo from '../images/sasapps/yoga.png'
|
|
||||||
import jsLogo from '../images/sasapps/js.png'
|
|
||||||
import serbianLogo from '../images/sasapps/serbian.png'
|
|
||||||
import quizrLogo from '../images/sasapps/quizr.png'
|
|
||||||
import cdoquizLogo from '../images/sasapps/cdoquiz.png'
|
|
||||||
import insureLogo from '../images/sasapps/insure.png'
|
|
||||||
|
|
||||||
import sasenseiFeatured from '../images/sasensei_featured.png'
|
|
||||||
|
|
||||||
type DataProps = {
|
type DataProps = {
|
||||||
site: {
|
site: {
|
||||||
meta: {
|
meta: {
|
||||||
@@ -41,79 +20,6 @@ type DataProps = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const SasApps = [
|
|
||||||
{
|
|
||||||
name: 'Sasensei',
|
|
||||||
desc: 'Sasensei. SAS Software Quiz, Challenge, Compete & Learn',
|
|
||||||
link: 'https://sasensei.com',
|
|
||||||
themeColor: '#2196F3',
|
|
||||||
logo: sasenseiLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Ruby',
|
|
||||||
desc: 'Ruby Cards - a Community Quiz Game for Rubyists',
|
|
||||||
link: 'https://ruby.cards',
|
|
||||||
themeColor: '#aa1502',
|
|
||||||
logo: rubyLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'PyGrail',
|
|
||||||
desc: 'PyGrail - a Community Quiz Game for Monty Pythonistas',
|
|
||||||
link: 'https://pygrail.com',
|
|
||||||
themeColor: '#efbf2c',
|
|
||||||
logo: pygrailLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Pilot',
|
|
||||||
desc: 'Pilot Cards Leaderboard - How High Can You Climb?',
|
|
||||||
link: 'https://pilot.cards',
|
|
||||||
themeColor: '#446ff3',
|
|
||||||
logo: pilotLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Yoga.cards',
|
|
||||||
desc: 'Yoga Cards - a Community Quiz Game for Student Yogis',
|
|
||||||
link: 'https://yoga.cards',
|
|
||||||
themeColor: '#6d69fb',
|
|
||||||
logo: yogaLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'JS.cards',
|
|
||||||
desc: 'JS Cards - a Community Quiz Game for JavaScript Ninjas',
|
|
||||||
link: 'https://js.cards',
|
|
||||||
themeColor: '#00cc99',
|
|
||||||
logo: jsLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Serbian.cards',
|
|
||||||
desc: 'Serbian Cards - How Much Serbian Do You Know?',
|
|
||||||
link: 'https://serbian.cards',
|
|
||||||
themeColor: '#c6363c',
|
|
||||||
logo: serbianLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Quizr',
|
|
||||||
desc: 'quizR - a community quiz game for useRs',
|
|
||||||
link: 'https://quizr.io',
|
|
||||||
themeColor: '#51904c',
|
|
||||||
logo: quizrLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'CDOquiz',
|
|
||||||
desc: 'CDO Quiz - a Royally Challenging Data Adventure',
|
|
||||||
link: 'https://cdoquiz.com/',
|
|
||||||
themeColor: '#a54499',
|
|
||||||
logo: cdoquizLogo
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Insure.cards',
|
|
||||||
desc: 'Insure Cards - Are You An Insurance Expert? Prove It',
|
|
||||||
link: 'https://insure.cards/',
|
|
||||||
themeColor: '#5f8ba5',
|
|
||||||
logo: insureLogo
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
const About: React.FC<PageProps<DataProps>> = ({ data, location }) => {
|
const About: React.FC<PageProps<DataProps>> = ({ data, location }) => {
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
@@ -140,78 +46,10 @@ const About: React.FC<PageProps<DataProps>> = ({ data, location }) => {
|
|||||||
>
|
>
|
||||||
SAS Apps
|
SAS Apps
|
||||||
</a>
|
</a>
|
||||||
, and the Macro Cards range of websites listed below:
|
.
|
||||||
</SectionDesc>
|
</SectionDesc>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5">
|
|
||||||
{SasApps.map((app) => (
|
|
||||||
<div className="col">
|
|
||||||
<Card
|
|
||||||
className="card"
|
|
||||||
href={app.link}
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>
|
|
||||||
<CardImg
|
|
||||||
className="card-img-top"
|
|
||||||
src={app.logo}
|
|
||||||
alt={app.name}
|
|
||||||
title={app.name}
|
|
||||||
/>
|
|
||||||
<CardBody className="card-body">
|
|
||||||
<h5 className="card-title">{app.name}</h5>
|
|
||||||
<p className="card-text">{app.desc}</p>
|
|
||||||
</CardBody>
|
|
||||||
</Card>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</Section>
|
|
||||||
<Section>
|
|
||||||
<FeaturedImg src={sasenseiFeatured} alt="Sasensei" title="Sasensei" />
|
|
||||||
<FeaturedDesc>
|
|
||||||
Sasensei is a free question-based learning system dedicated to various
|
|
||||||
aspects of the
|
|
||||||
<br />
|
|
||||||
SAS® software such as SAS® Programming, Administration, Risk
|
|
||||||
Dimensions, Viya, AF/SCL, and much more.
|
|
||||||
</FeaturedDesc>
|
|
||||||
<FeaturedDesc>
|
|
||||||
This SAS® quiz allows the player to test their knowledge, challenge
|
|
||||||
their peers and submit their own questions for others to enjoy.
|
|
||||||
<br />
|
|
||||||
Sasensei is constantly improving by adding new features which
|
|
||||||
contribute to the player experience and increase the educational
|
|
||||||
value.
|
|
||||||
</FeaturedDesc>
|
|
||||||
</Section>
|
|
||||||
<Section color="black" bgColor="#eaeaea" bottomArrow={false}>
|
|
||||||
<div className="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5">
|
|
||||||
<div className="col">
|
|
||||||
1000+
|
|
||||||
<br />
|
|
||||||
Active Players
|
|
||||||
</div>
|
|
||||||
<div className="col">
|
|
||||||
650+
|
|
||||||
<br />
|
|
||||||
Questions
|
|
||||||
</div>
|
|
||||||
<div className="col">
|
|
||||||
20+
|
|
||||||
<br />
|
|
||||||
New Players Every Day
|
|
||||||
</div>
|
|
||||||
<div className="col">
|
|
||||||
6<br />
|
|
||||||
Unique Features
|
|
||||||
</div>
|
|
||||||
<div className="col">
|
|
||||||
7<br />
|
|
||||||
Difficulty Levels
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Section>
|
</Section>
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -250,7 +250,7 @@ export const pageQuery = graphql`
|
|||||||
query ImagesForGallery {
|
query ImagesForGallery {
|
||||||
images: allFile(
|
images: allFile(
|
||||||
filter: { relativeDirectory: { eq: "gallery" } }
|
filter: { relativeDirectory: { eq: "gallery" } }
|
||||||
sort: { fields: name }
|
sort: { name: ASC }
|
||||||
) {
|
) {
|
||||||
edges {
|
edges {
|
||||||
node {
|
node {
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ export const pageQuery = graphql`
|
|||||||
filter: $filter
|
filter: $filter
|
||||||
limit: $limit
|
limit: $limit
|
||||||
skip: $skip
|
skip: $skip
|
||||||
sort: { fields: [frontmatter___date], order: DESC }
|
sort: { frontmatter: { date: DESC } }
|
||||||
) {
|
) {
|
||||||
posts: edges {
|
posts: edges {
|
||||||
post: node {
|
post: node {
|
||||||
|
|||||||
Reference in New Issue
Block a user