Skip to content

Update SAS GitHub landing page for June 2025 #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added images/sas-contributes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
211 changes: 113 additions & 98 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -101,23 +101,124 @@ <h6>sas-ggdk</h6>
<p>The SAS generics library for Go provides packages that leverage generic types to support various common development tasks and patterns.</p>
<p><a href="https://github.com/sassoftware/sas-ggdk" title="sas-ggdk">Contribute →</a></p>
</div>
<div class="boxed">
<h6>viya4-monitoring-kubernetes</h6>
<p>Provides simple scripts and customization options to deploy monitoring, alerts, and log aggregation for Viya 4 running on Kubernetes.</p>
<p><a href="https://github.com/sassoftware/viya4-monitoring-kubernetes" title="viya4-monitoring-kubernetes">Contribute →</a></p>
</div>

<!-- Banded section -->

<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
<div class="boxed">
<h6>postgrest-client</h6>
<p>General purpose type-safe TypeScript client for PostgREST. Supports select, insert, update, upsert, delete queries with composite joins, resource embedding, full JSON column data handling and typing.
<p><a href="https://github.com/sassoftware/postgrest-client" title="postgrest-client">Contribute →</a></p>
</div>

<!-- Body section -->

<div class="grid-container full" style="margin-bottom:3.3rem;">
<div>
<h2>Open source projects from SAS</h2>
<p>Browse the <a href="https://github.com/sassoftware" title="SAS Software organization on GitHub">SAS Software organization on GitHub</a>. Read the <a href="contributor-handbook.html" title="SAS Open Source Contributor Handbook">SAS Open Source Contributor Handbook</a> to get started.</p>
</div>
<div class="inverted">
<h3>Read the guide</h3>
<p>The SAS Open Source Contributor Handbook is your guide to contributing to SAS projects.</p>
<a class="button button-inverted" href="contributor-handbook.html" title="SAS Open Source Contributor Handbook">Read now</a>
</div>

<div class="grid-container halves">
<div id="just-launched">
<h3>Just launched</h3>
</div>
<div class="inverted" id="recently-updated">
<h3>Recently updated</h3>
</div>
</div>

<!-- Banded section -->

<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>

<!-- Body section -->

<div class="grid-container halves" style="margin-bottom:5.3rem;">
<div>
<h2>SAS Contributes</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
<p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div>
<img src="images/sas-contributes.png">
</div>
</div>
<div class="grid-container full">
<div>
<h3>Contributions from SAS</h3>
<p>Recent commits from <a href="https://github.com/orgs/sassoftware/people" title="Members of SAS Software organization">members of SAS Software</a>.
<hr>
<p class="u-monospace">{USER} did {ACTIVITY} on {PROJECT}.</p>
<p class="u-monospace">{USER} did {ACTIVITY} on {PROJECT}.</p>
<p class="u-monospace">{USER} did {ACTIVITY} on {PROJECT}.</p>
<hr>
Comment on lines +159 to +163
Copy link
Contributor Author

@semioticrobotic semioticrobotic Jun 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@isharacomix: This is the section where I'd like to have database data populated.

Obviously, "did {ACTIVITY}" is a bit crude, syntactically, but I will re-write when we determine more specifically what the API is able to furnish. These are more or less placeholders for now.

Ideally, USER, ACTIVITY, and PROJECT would all be hyperlinked.

</div>
</div>

<script type="text/javascript" src="js/data.js"></script>
<script type="text/javascript">
function renderRepos(arr, tag, count) {
const list = document.getElementById(tag);
function makeElem(arrItem, arrIndex) {
let p = document.createElement('p');
let name = arrItem['name'];
let description = arrItem['description'];

/*<p><a href="PROJECT_URL" title="PROJECT_NAME">PROJECT_NAME</a><br />PROJECT_DESCRPTION</p>*/

p.innerHTML = `<p><a href="https://github.com/sassoftware/${name}" title="${name}">${name}</a><br />${description}</p>`;
console.log(arrItem);
return p;
}
let i = 0;
arr.forEach((item, index) => {
if (i < count){
try {
const listElement = makeElem(item, index);
list.append(listElement);
console.log("*");
} catch (Error) {
console.log(Error);
}}
i += 1;
});
}

data.sort(function(a,b){
if ( a['created_at'] < b['created_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "just-launched", 4);

data.sort(function(a,b){
if ( a['pushed_at'] < b['pushed_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "recently-updated", 4);

data.sort(function(a,b){
if ( a['forks_count'] < b['forks_count'] )
{
return 1;
}
return -1;
});
renderRepos(data, "most-forked", 4);

Comment on lines +216 to +222
Copy link
Contributor Author

@semioticrobotic semioticrobotic Jun 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@isharacomix: I redesigned this section to eliminate some complexity and no longer need Most Forked to appear on this page. The script is still collecting data here, however, and I didn't know what I could/should remove to tidy up the code. Could use your help there.

To clarify: I'd still like to gather the data on most forked repositories, as the Contributor Handbook still displays them. So the script collecting the data should still collect them; it's just that this page in particular won't display them.

</script>

<!-- Banded section -->

<div class="divider">
Expand Down Expand Up @@ -304,92 +405,6 @@ <h2>More to explore</h2>

<!-- Body section -->

<div class="grid-container full" style="margin-bottom:2.5rem;">
<div>
<h2>Open source projects from SAS</h2>
<p>Browse the <a href="https://github.com/sassoftware" title="SAS Software organization on GitHub">SAS Software organization on GitHub</a>. Read the <a href="contributor-handbook.html" title="SAS Open Source Contributor Handbook">SAS Open Source Contributor Handbook</a> to get started.</p>
</div>
</div>
<div class="grid-container thirds">
<div id="just-launched">
<h4>Just launched</h4>
</div>
<div id="recently-updated">
<h4>Recently updated</h4>
</div>
<div id="most-forked">
<h4>Most forked</h4>
</div>
</div>

<script type="text/javascript" src="js/data.js"></script>
<script type="text/javascript">
function renderRepos(arr, tag, count) {
const list = document.getElementById(tag);
function makeElem(arrItem, arrIndex) {
let p = document.createElement('p');
let name = arrItem['name'];
let description = arrItem['description'];

/*<p><a href="PROJECT_URL" title="PROJECT_NAME">PROJECT_NAME</a><br />PROJECT_DESCRPTION</p>*/

p.innerHTML = `<p><a href="https://github.com/sassoftware/${name}" title="${name}">${name}</a><br />${description}</p>`;
console.log(arrItem);
return p;
}
let i = 0;
arr.forEach((item, index) => {
if (i < count){
try {
const listElement = makeElem(item, index);
list.append(listElement);
console.log("*");
} catch (Error) {
console.log(Error);
}}
i += 1;
});
}

data.sort(function(a,b){
if ( a['created_at'] < b['created_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "just-launched", 4);

data.sort(function(a,b){
if ( a['pushed_at'] < b['pushed_at'] )
{
return 1;
}
return -1;
});
renderRepos(data, "recently-updated", 4);

data.sort(function(a,b){
if ( a['forks_count'] < b['forks_count'] )
{
return 1;
}
return -1;
});
renderRepos(data, "most-forked", 4);

</script>

<!-- Banded section -->

<div class="divider">
<div>
<img class="u-img-divider" src="images/standard-section-divider.png">
</div>
</div>

<!-- Body section -->

<div class="grid-container halves">
<div>
<img src="images/sas-developers-logo-brackets-2color.png">
Expand Down